概述
得益于对云原生和容器监控的友好支持,如今,Prometheus监控受到越来越多企业的青睐。然而,对于已经部署了Zabbix监控系统的企业,想要用Prometheus完全替换Zabbbix,可能既无必要,短期也不现实。实际上,Zabbix 4.2及后续版本增加了对Prometheus数据源的接入,已经能够实现用Zabbix来对接Prometheus监控。
Prometheus通过Exporters组件来收集数据。Exporters是一类数据采集组件的总称,它负责从目标处搜集数据,并将其转化为Prometheus支持的格式,并且暴露出一个HTTP API地址,等待Prometheus Server拉取数据并进行数据处理。
Zabbix对接Prometheus也是通过HTTP代理,拉取Exporters提供的大量Prometheus指标数据,然后通过内置的Prometheus pattern进行数据的处理和筛选,从而获取监控值。
本文将介绍如何使用Zabbix的Prometheus pattern项来对接Prometheus数据源。以Prometheus官方提供的Node_exporter采集器为例。
1. Node_exporter部署
1.1. 下载Node_exporter部署包
Node_exporter部署包可以从Prometheus官网进行下载。
地址:https://prometheus.io/download/
可以选择所需的版本,然后复制相关链接在服务器上面使用wget或curl进行下载,抑或直接下载后再上传到服务器。
1.2. 解压安装
1.2.1.下载好后,直接进行解压:
1.2.2. 编写systemd启动服务
vim /usr/lib/systemd/system/node_exporter.service
将以下内容复制到文件中:
[Unit]
Description=node-exporter service
After=network.target
[Service]
User=prometheus
Group=prometheus
KillMode=control-group
Restart=on-failure
RestartSec=60
ExecStart=/data/test/prometheus/node_exporter-1.5.0.linux-amd64/node_exporter \
--web.listen-address=:9100 \
--collector.systemd \
--collector.systemd.unit-whitelist=(sshd|nginx).service \
--collector.processes \
--collector.tcpstat
[Install]
WantedBy=multi-user.target
注意,启动命令的路径要根据实际的路径进行修改。
1.2.3. 创建普通用户prometheus
useradd prometheus
1.2.4. 启动Node_exporter服务
systemctl daemon-reload
systemctl start node_exporter.service
systemctl status node_exporter.service
1.3.访问测试
然后访问IP:9100端口
如图所示表示部署成功,并且成功采集到数据。
1.4. Node_exporter相关指标说明
Node_exporter是Prometheus用于监控服务器的采集器,其相关的采集指标说明可以参考以下地址,然后按需进行监控:
参考指标地址:https://blog.csdn.net/qq_33326449/article/details/126663517
2. Zabbix对接Node_exporter
2.1. 创建监控模板
添加一个宏值:用以灵活监控多个主机
2.2.创建HTTP代理监控项,获取大量Prometheus指标
首先使用HTTP代理监控项,获取Prometheus的指标数据。
2.3. 创建相关项目监控项,使用Prometheus pattern获取监控值
这里以监控服务器的内存大小为例:
然后添加处理步骤:
2.4. 添加监控主机
然后添加主机进行测试
修改宏值
2.5. 查看指标数据
如图所示,成功对接,并且获取到监控数据。
以上就是这一期的内容。大家好,我是乐乐,专注运维技术研究与分享,关注我,了解更多运维知识。更多Zabbix、Prometheus等技术知识,还可关注乐维社区,如有问题也可以到社区进行留言提问,与广大运维技术爱好者一起探讨。
网友评论