得益于对云原生和容器监控的优势,Prometheus受到越来越多企业的青睐。对于已经部署Zabbix监控系统又想尝试Prometheus的企业,如果完全替换Prometheus存在困难或者没有必要,可以在保留Zabbix的同时引入Prometheus。(注:需Zabbix4.2及上版本)
Prometheus通过Exporters组件来收集数据。Exporters是一类数据采集组件的总称,它负责从目标处搜集数据,并将其转化为Prometheus支持的格式,并且暴露出一个HTTP API地址,等待Prometheus Server拉取数据并进行数据处理。Zabbix通过HTTP代理与Prometheus进行对接,拉取Exporters提供的大量Prometheus指标数据,然后通过内置的Prometheus pattern进行数据的处理和筛选,从而获取监控值。
本文将介绍如何使用Zabbix的Prometheus pattern项来对接Prometheus数据源。以Prometheus官方提供的Node_exporter采集器为例。
一、Node_exporter部署
Node_exporter部署包可以从Prometheus官网进行下载。地址如下:
https://prometheus.io/download/
选择所需的版本,然后复制相关链接在服务器上面使用wget或curl进行下载,抑或直接下载后再上传到服务器。
下载好后,直接进行解压:
编写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
注意,启动命令的路径要根据实际的路径进行修改。
创建普通用户Prometheus
useradd prometheus
启动Node_exporter服务
systemctl daemon-reload
systemctl start node_exporter.service
systemctl status node_exporter.service
访问IP:9100端口。如图,部署成功且成功采集到数据。
Node_exporter是Prometheus用于监控服务器的采集器,其相关的采集指标说明可以参考以下地址,然后按需进行监控:
参考指标地址:
https://blog.csdn.net/qq_33326449/article/details/126663517
二、Zabbix对接Node_exporter
添加一个宏值:用以灵活监控多个主机
使用HTTP代理监控项,获取Prometheus的指标数据
这里以监控服务器的内存大小为例:
添加处理步骤:
添加主机进行测试:
修改宏值:
如图所示,成功对接,并且获取到监控数据。
如果字段的最大可能长度超过255字节,那么长度值可能…
只能说作者太用心了,优秀
感谢详解
一般干个7-8年(即30岁左右),能做到年入40w-50w;有…
230721