Zabbix 7.0新特性:批量获取OID值,walk参数使用教程详解

Zabbix 7.0.0版本之后,“SNMP代理”监控项类型中的SNMP OID参数增加了walk[OID1,OID2,...]的写法,将会返回带有 -Oe -Ot -On 参数的 snmpwalk 实用程序的输出结果。本文主要介绍一个使用“walk[OID1,OID2,...]”请求方式的例子。

1 前言

在Zabbix 7.0.0版本之后,"SNMP代理"监控项类型中的SNMP OID参数增加了walk[OID1,OID2]的功能。这个新功能允许用户通过一个OID来获取一系列的OID值。例如,如果你想获取IP路由表的信息,你可以使用如下的OID:".1.3.6.1.2.1.4.22"。在Zabbix 7.0.0之前的版本中,你需要为每一种类型的路由(例如,路由目的地、路由源、路由度量等)创建单独的监控项。但在Zabbix 7.0.0及之后的版本中,你可以使用walk功能,并且只需要创建一个监控项,如下所示:

walk[.1.3.6.1.2.1.4.22]

这样Zabbix就会自动遍历.1.3.6.1.2.1.4.22下的所有OID,并且为每一个OID收集数据。

需要注意的是,使用walk可能会导致Zabbix向SNMP设备发送大量的请求,这可能会影响网络性能。因此,在使用walk之前,你应该确保你的网络设备和SNMP设备可以处理这种类型的请求。


本文主要介绍一个使用“walk[OID1,OID2,...]”请求方式的例子。


本次实验环境如下:

操作系统版本:Anolis OS 8.8

操作系统内核信息:Linux localhost 4.18.0-477.36.1.0.1.an8.x86_64 #1 SMP Thu Dec 28 06:29:01 CST 2023 x86_64 x86_64 x86_64 GNU/Linux

Zabbix版本:7.0.3

本次实验需要预先给被监控设备配置好SNMP。

2 被监控操作系统配置SNMP服务

安装SNMP服务:

yum -y install net-snmp net-snmp-utils

l6hGkocJ67401c0372a56.png备份SNMP配置:

cp /etc/snmp/snmpd.conf /etc/snmp/snmpd.conf.bak

修改SNMP配置:(此操作会覆盖/etc/snmp/snmpd.conf文件)

> /etc/snmp/snmpd.conf ; cat > /etc/snmp/snmpd.conf<<EOF
rocommunity CXH-SNMP-COMMUNITY
group   notConfigGroup v1           notConfigUser
group   notConfigGroup v2c           notConfigUser
access  notConfigGroup ""      any       noauth    exact all  none none
view all    included  .1                          80
syslocation Unknown (edit /etc/snmp/snmpd.conf)
syscontact Root <root@localhost> (configure /etc/snmp/snmp.local.conf)
dontLogTCPWrappersConnects yes
EOF

注: rocommunity:允许IP根据团体名以只读方式获取snmp数据,格式为:

rocommunity 团体名 Zabbix服务器IP地址(不填默认为允许全部)

例如:rocommunity CXH-SNMP-COMMUNITY 10.245.119.44

VUxjyNV567401c9ce50ae.png重启SNMP服务:

service snmpd restart

dvxp3pXo67401cb105dd9.png可选:确认防火墙是否放通了UDP 161端口。


可选:验证SNMP配置是否可用

snmpwalk -v 2c -c CXH-SNMP-COMMUNITY 127.0.0.1 system

p1ya5evs67401ccc2905d.png

3 添加监控对象

添加一个SNMP类型的接口,使用Zabbix自带的“Linux by SNMP”模板,SNMP版本选择SNMP v2c,SNMP community默认写{$SNMP_COMMUNITY},最大重复次数默认为10。

wS5q291j67401cf36e2bf.png切换到宏标签页,新增一个主机宏,宏名字:{$SNMP_COMMUNITY}、宏值:CXH-SNMP-COMMUNITY

TjXZGysJ67401d07dd127.png等待一段时间后,可在最新数据界面查看监控效果:1tht7lbn67401d1d44db4.png

4 walk[OID1,OID2,...]用法说明

以网卡信息的获取作为例子:

1、先有一个获取所有数据的WALK监控项,监控项名称:“Linux: SNMP walk network interfaces”

SNMP OID填写的内容为:walk[1.3.6.1.2.1.2.2.1.8,1.3.6.1.2.1.2.2.1.7,1.3.6.1.2.1.31.1.1.1.18,1.3.6.1.2.1.31.1.1.1.1,1.3.6.1.2.1.2.2.1.2,1.3.6.1.2.1.2.2.1.3,1.3.6.1.2.1.31.1.1.1.6,1.3.6.1.2.1.31.1.1.1.10,1.3.6.1.2.1.2.2.1.14,1.3.6.1.2.1.2.2.1.20,1.3.6.1.2.1.2.2.1.19,1.3.6.1.2.1.2.2.1.13,1.3.6.1.2.1.31.1.1.1.15]

以上OID均为网卡的监控指标OID。

比如1.3.6.1.2.1.2.2.1.8,获取的是网卡管理状态,结果的1表示开启状态。

Al1NP48n67401d69940e2.png该监控项的数据包括了后续需要监控的所有网卡信息,数据例子:

.1.3.6.1.2.1.2.2.1.13.1 = Counter32: 0

.1.3.6.1.2.1.2.2.1.13.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.14.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.19.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.2.1 = STRING: "lo"
.1.3.6.1.2.1.2.2.1.2.2 = STRING: "ens33"
.1.3.6.1.2.1.2.2.1.20.1 = Counter32: 0
.1.3.6.1.2.1.2.2.1.20.2 = Counter32: 0
.1.3.6.1.2.1.2.2.1.3.1 = INTEGER: 24
.1.3.6.1.2.1.2.2.1.3.2 = INTEGER: 6
.1.3.6.1.2.1.2.2.1.7.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.7.2 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.1 = INTEGER: 1
.1.3.6.1.2.1.2.2.1.8.2 = INTEGER: 1
.1.3.6.1.2.1.31.1.1.1.1.1 = STRING: "lo"
.1.3.6.1.2.1.31.1.1.1.1.2 = STRING: "ens33"
.1.3.6.1.2.1.31.1.1.1.10.1 = Counter64: 10994836576
.1.3.6.1.2.1.31.1.1.1.10.2 = Counter64: 162165980
.1.3.6.1.2.1.31.1.1.1.15.1 = Gauge32: 10
.1.3.6.1.2.1.31.1.1.1.15.2 = Gauge32: 1000
.1.3.6.1.2.1.31.1.1.1.18.1 = STRING: ""
.1.3.6.1.2.1.31.1.1.1.18.2 = STRING: ""
.1.3.6.1.2.1.31.1.1.1.6.1 = Counter64: 10994836576
.1.3.6.1.2.1.31.1.1.1.6.2 = Counter64: 1070646749

5628PscK67401dabae41a.png2、创建一个自动发现规则,类型为:“相关项目”,主要项为第一步的WALK监控项。

5OjEqeCI67401e03288cd.png通过增加预处理的方式,将文本数据转为json数据,并将需要复用的数据设置为自动发现的宏,这里设置的宏可以用于后续添加的监控项原型和过滤器。

UOMZFIAY67401e1e5813c.png

点测试所有步骤后,可查看生成的自动发现规则需要的json格式数据,其中同样会默认增加{#SNMPINDEX}宏,用于后续配置的监控发现原型。

wMLQyaL867401e3d3d50e.png可选:设置过滤规则,可以考虑过滤关闭的网卡或者lo名称的网卡:

d7DW2BkO67401e8b244fa.png3、创建监控项原型,类型为:“相关项目”,主要项为第一步的WALK监控项。

wuzXhiMB67401e9dcb348.png值映射为可选的设置,上图的指标为网卡的管理状态,返回的数据一般是1或2,因此可以将1映射为up、将2映射为down,提高可读性。


配置预处理,提取对应的数据。

参数例子:1.3.6.1.2.1.2.2.1.8.{#SNMPINDEX} ,其中{#SNMPINDEX}为自动发现规则默认生成的索引值。

SJipVLrN67401eb063ccd.png4、后续的步骤跟以前的SNMP配置一样,可选设置触发器和图形原型。






0 条评论

请先 登录 后评论
影月
影月

7 篇文章

作家榜 »

  1. 乐维君 397 文章
  2. YOHOHO 14 文章
  3. 机灵小和尚 13 文章
  4. 我是一只小菜鸡 12 文章
  5. 细雨闲花 11 文章
  6. 。。。 9 文章
  7. 御前侍卫张五哥 9 文章
  8. 小黄人 8 文章