数据传输 | 如何搭建 DTLE 的监控系统

2021-08-31  本文已影响0人  爱可生开源社区

作者:刘安

爱可生测试团队成员,主要负责 DTLE 开源项目相关测试任务,擅长 Python 自动化测试开发,最近醉心于 Linux 性能分析优化的相关知识。

本文来源:原创投稿

*爱可生开源社区出品,原创内容未经授权不得随意使用,转载请联系小编并注明来源。


背景:

虽然在 DTLE 的文档里提供各种监控项的介绍,但是对于不熟悉 prometheus 和 grafana 配置的同学来说上手还是有些难度的。今天我就来 DTLE 3.21.07.0 来搭建一个 DTLE 的监控系统。

一、搭建 DTLE 运行环境

image

在修改 DTLE 配置文件的时候需要注意以下两点:

  1. 开启 DTLE 的监控,确保 publish_metrics 的值为 ture

  2. 开启 nomad 的监控,确保正确配置telemetry

这里以dtle-src-1的配置为例,具体配置参考节点配置:

# DTLE 3.21.07.0中nomad升级为1.1.2,需要添加如下配置使nomad提供监控数据
# 之前版本的DTLE无需添加此配置
telemetry {
  prometheus_metrics         = true
  collection_interval        = "15s"
}

plugin "dtle" {
  config {
    data_dir = "/opt/dtle/var/lib/nomad"
    nats_bind = "10.186.63.20:8193"
    nats_advertise = "10.186.63.20:8193"
    # Repeat the consul address above.
    consul = "10.186.63.76:8500"

    # By default, API compatibility layer is disabled.
    api_addr = "10.186.63.20:8190"   # for compatibility API
    nomad_addr = "10.186.63.20:4646" # compatibility API need to access a nomad server

    publish_metrics = true
    stats_collection_interval = 15
  }
}
image

二、部署prometheus

shell> cat /path/to/prometheus.yml
global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.

scrape_configs:
  - job_name: 'nomad'
    scrape_interval: 15s
    metrics_path: '/v1/metrics'
    params:
      format: ['prometheus']
    static_configs:
      - targets: ['10.186.63.20:4646']
        labels:
          instance: nomad-src-1
      - targets: ['10.186.63.76:4646']
        labels:
          instance: nomad-dest-1

  - job_name: 'dtle'
    scrape_interval: 15s
    metrics_path: '/metrics'
    static_configs:
      - targets: ['10.186.63.20:8190']
        labels:
          instance: dtle-src-1
      - targets: ['10.186.63.76:8190']
        labels:
          instance: dtle-dest-1
  shell> docker run -itd -p 9090:9090 --name=prometheus --hostname=prometheus --restart=always -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
image

三、部署 grafana

  shell> docker run -d --name=grafana -p 3000:3000 grafana/grafana
image image image image image image

四、常用的监控项

nomad 所有监控项:https://www.nomadproject.io/docs/operations/metrics

DTLE 所有监控项:https://actiontech.github.io/dtle-docs-cn/3/3.4_metrics.html

image

五、最后创建多个panel同时展示

image
上一篇 下一篇

猜你喜欢

热点阅读