前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Zabbix6.0 LTS 采集 Prometheus node_exporter 指标及自动发现

Zabbix6.0 LTS 采集 Prometheus node_exporter 指标及自动发现

作者头像
Kevin song
发布2023-02-22 21:38:11
9920
发布2023-02-22 21:38:11
举报

Zabbix 4.2开始支持通过对PromQL语言原生的支持来实现对Prometheus导出工具的集成。此外,依赖性指标的引入,使得Zabbix能够以高效方式收集大量Prometheus指标:使用单一HTTP调用获取所有数据,而后将其作为主依赖监控项获取对应的相关指标。

Zabbix Prometheus 预处理选项

  1. Prometheus pattern:用于添加普通监控项
  1. Prometheus to json:可以用于通过自动发现批量添加监控项,通过预处理将采集到的Prometheus 数据转化为JSON格式。

Zabbix 官方手册

https://www.zabbix.com/documentation/6.0/en/manual/config/items/itemtypes/prometheus

Prometheus node_exporter 二进制部署

1, 下载&部署

代码语言:javascript
复制
wget https://github.com/prometheus/node_exporter/releases/download/v1.4.0/node_exporter-1.4.0.linux-amd64.tar.gz
tar -zvxf node_exporter-1.4.0.linux-amd64.tar.gz   -C /usr/local/
mv  node_exporter-1.4.0.linux-amd64 node_exporter

2,添加prometheus用户

代码语言:javascript
复制
groupadd prometheus
useradd -g prometheus -s /sbin/nologin prometheus

3,修改文件的属主属组

代码语言:javascript
复制
chown -R prometheus:prometheus /usr/local/ node_exporter/

4,systemctl 管理node_exporter

vim /usr/lib/systemd/system/node_exporter.service

代码语言:javascript
复制
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target

[Service]
Type=simple
User=prometheus
ExecStart=/usr/local/node_exporter/node_exporter
ExecReload=/bin/kill -HUP $MAINPID
KillMode=process
Restart=on-failure

[Install]
WantedBy=multi-user.target

5, 启动开机启动服务

代码语言:javascript
复制
systemctl enable node_exporter
systemctl start node_exporter

6,Web 访问 node_exporter指标数据

http://192.168.120.129:9100/metrics

Prometheus pattern 采集node_exporter内存指标

Zabbix上新增一个类型为HTTP代理的主监控项

1,配置HTTP Agent

名称 prometheus node_exporter{$PROME_URL}

键值 node.exporter[{$PROME_URL}]

主机宏变量

2,创建内存空余监控项

监控项名称 node_memory_MemFree_bytes

3,监控项预处理

node_memory_MemTotal_bytes 内存总量

node_memory_MemFree_bytes 内存空余

4,内存最新数据

Zabbix LLD(低级别发现)

利用Zabbix低级别自动发现规则自动发现文件系统和网卡监控项

文件系统监控LLD自动发现

1,创建主监控项,LLD自动发现依赖于主监控项

名称 prometheus node_exporter{$PROME_URL}

键值 node.exporter[{$PROME_URL}]

主机宏变量

2,创建文件系统LLD自动发现,依赖于上一步创建的主监控项

名称 prometheus disk discovery

键值 prometheus.disk.discovery

3,配置LLD自动发现数据预处理,监控类型为fstype="xfs"文件系统

node_filesystem_files{fstype="xfs",device=~".*"}

node_exporter filesystem 指标数据

代码语言:javascript
复制
node_filesystem_free_bytes{device="/dev/mapper/klas-root",fstype="xfs",mountpoint="/"} 2.17331712e+10
node_filesystem_free_bytes{device="/dev/vda1",fstype="xfs",mountpoint="/boot"} 8.48093184e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run"} 1.510940672e+09
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/run/user/0"} 3.05668096e+08
node_filesystem_free_bytes{device="tmpfs",fstype="tmpfs",mountpoint="/tmp"} 1.528344576e+09

4,LLD自动发现宏变量

{#FSNAME} $.labels["mountpoint"]

5,创建文件系统空余监控项原型

监控项原型名称 node_filesystem_free_bytes on {#FSNAME}

监控项原型键值 node_filesystem_free_bytes[{#FSNAME}]

6,创建文件系统空余空间监控项原型预处理

node_filesystem_free_bytes {mountpoint="{#FSNAME}"}

7,创建文件系统总量监控项原型

监控项原型名称 node_filesystem_size_bytes on {#FSNAME}

监控项原型键值 node_filesystem_size_bytes[{#FSNAME}]

8,创建文件系统总量空间监控项原型预处理

node_filesystem_size_bytes {mountpoint="{#FSNAME}"}

9,文件系统最新数据

网络监控LLD自动发现

1,创建网络LLD自动发现,依赖于主监控项

名称 prometheus network discovery

键值 prometheus.network.discovery

2,配置LLD自动发现数据预处理

node_network_device_id{device=~".*"}

node_exporter network指标数据

代码语言:javascript
复制
# HELP node_network_device_id device_id value of /sys/class/net/.
# TYPE node_network_device_id gauge
node_network_device_id{device="br0"} 0
node_network_device_id{device="ens192"} 0
node_network_device_id{device="lo"} 0
node_network_device_id{device="virbr0"} 0
node_network_device_id{device="virbr0-nic"} 0
node_network_device_id{device="vnet0"} 0

3,LLD自动发现宏变量

#INTERFACE} $.labels["device"]

4,过滤不需要监控网卡

5,创建网络receive监控项原型

监控项原型名称 node_network_receive_bytes_total on {#INTERFACE}

监控项原型键值 node_network_receive_bytes_total[{#INTERFACE}]

6,创建网络receive监控项原型预处理

node_network_receive_bytes_total {device="{#INTERFACE}"}

7,创建网络transmit监控项原型

监控项原型名称

node_network_transmit_bytes_total on {#INTERFACE}

监控项原型键值

node_network_transmit_bytes_total[{#INTERFACE}]

8,创建网络transmit监控项原型预处理

node_network_transmit_bytes_total {device="{#INTERFACE}"}

9,创建网络图形原型

10,网卡最新数据

本文参与?腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2022-12-04,如有侵权请联系?cloudcommunity@tencent.com 删除

本文分享自 开源搬运工宋师傅 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与?腾讯云自媒体分享计划? ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com