Guide

这篇文章讲解如何使用 docker 搭建硬件可视化监控环境的操作过程。操作过程基于训练营的学习,经个人总结整理,如有遗漏或疑惑的地方,可在讨论区留言。

分布式监控优点:

1)信息高度集中
信息多元且海量,可以根据不同的机器提供不同的维度。还可以根据通过时间维度去追溯历史数据,方便复盘和追踪。
2)加速信息传递效率
项目成员通过大屏链接地址访问,可以将信息更快共享给其它成员。还可以通过数据的走向趋势预判会触发的阈值以达到提前
发现风险的效果。

缺点:
1)数据展示没有操作命令那么快。可视化界面的数据流:采集数据 - 存储到数据库 - 展示数据

搭建过程

1.需要工具:
Exporter 收集
Promethues 存储
Grafana 实时展示数据

2.docker 运行命令(运行成功后检查):
命令:docker run -d -p 9100:9100 --name czy-exporter prom/node-exporter
(使用http://ip:端口 进行访问)

命令:docker run -d -p 9090:9090 --name czy-prometheus prom/prometheus
(prometheus 的 Endpoint 状态是 UP 才正常)

命令:docker run -d -p 3000:3000 --name czy-grafana grafana/grafana

3.Exporter 介绍
为 Prometheus 提供监控数据源的都被称为 Exporter,比如 Node Exporter 用来提供节点相关的资源(cpu、内存、disk...)使用状况,而 Prometheus 从这些不同的 Exporter 中获取监控数据,然后可以在诸如 Grafana 这样的可视化工具中进行结果的显示。
常用的 Exporter:硬件、数据库(mysql,Oracle、redis)、java 应用、消息队列、日志、docker

4.Prometheus 如何把 Exporter 监控的数据写到数据库中
进入到 Prometheus 修改配置
命令:docker exec -it czy-prometheus sh
prometheus.yml 配置路径:/etc/prometheus/prometheus.yml
若是要监控其它服务器的资源,在 scrape_configs 下面另起一个 job_name,添加 IP 和端口,分布式监控的实现就是基于这个实现

或者将配置复制到本地后,再修改
命令:docker cp czy-prometheus:/etc/prometheus/prometheus.yml .

注意 :targets 里面配置的端口是 exporter 的端口,prometheus 从 exporter 获取数据

改完后再复制到容器里面
命令:docker cp prometheus.yml czy-prometheus:/etc/prometheus/
改完后要重启容器才能生效
docker restart czy-prometheus

刷新后

5.grafana 添加模板
a.进入 Data sources 里面添加 data sources

b.搜索 prometheus ,选择它

c.填写配置信息
主要填写 Name 和 URL ,然后保存测试,显示 working 证明网络已经连通了

注意 :URL 里面配置的端口是 prometheus 的端口,grafana 从 prometheus 获取数据进行展示

d.进入 grafana 官网查找模板 ID
https://grafana.com/grafana/dashboards/
可以找一个中文版本的
Node Exporter Dashboard 20240520 TenSunS 自动同步版

复制 ID

e.导入模板

注意选择 之前命名的 prometheus-9090

正常的数据展示


↙↙↙阅读原文可查看相关链接,并与作者交流