作者:刘安
爱可生测试团队成员,次要负责 DTLE 开源我的项目相干测试工作,善于 Python 自动化测试开发,最近醉心于 Linux 性能剖析优化的相干常识。
本文起源:原创投稿
*爱可生开源社区出品,原创内容未经受权不得随便应用,转载请分割小编并注明起源。
背景:
尽管在 DTLE 的文档里提供各种监控项的介绍,然而对于不相熟 prometheus 和 grafana 配置的同学来说上手还是有些难度的。明天我就来 DTLE 3.21.07.0 来搭建一个 DTLE 的监控零碎。
一、搭建 DTLE 运行环境
- 配置两个节点的 DTLE 集群来演示,其拓扑如下:
在批改 DTLE 配置文件的时候须要留神以下两点:
- 开启 DTLE 的监控,确保 publish_metrics 的值为 ture
- 开启 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 }}
- 增加两个 job 模仿两个 MySQL 实例之间传输数据
二、部署prometheus
- 筹备 prometheus 配置文件同时接管 nomad 和 DTLE 的 metrics
- DTLE 监控 labels:instance 的值倡议设置为 DTLE 服务器的 hostname
shell> cat /path/to/prometheus.ymlglobal: 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
- 利用 docker 部署 prometheus 服务
shell> docker run -itd -p 9090:9090 --name=prometheus --hostname=prometheus --restart=always -v /path/to/prometheus.yml:/etc/prometheus/prometheus.yml prom/prometheus
- 在浏览器上拜访 prometheus 的页面 http://${prometheus_server_ip}:9090/targets 验证配置失效
三、部署 grafana
- 利用 docker 部署 grafana 服务
shell> docker run -d --name=grafana -p 3000:3000 grafana/grafana
- 在浏览器上拜访 grafana 的页面 http://${grafana_server_ip}:3000 ,应用默认用户 admin/admin登录
- 配置增加数据源
- 抉择增加 promethues
- 只需将 promethues 的拜访地址增加到URL中,点击“sava & test”按钮
- 增加 panel
- 以增加一个CPU使用率监控为例配置一个 panel
四、罕用的监控项
nomad 所有监控项:https://www.nomadproject.io/d...
DTLE 所有监控项:https://actiontech.github.io/...