Nagios 插件 check_snmp_int 与正则表达式不匹配

Nagios 插件 check_snmp_int 与正则表达式不匹配

我正在使用带有 -n 开关的 nagios 插件 check_snmp_int。帮助显示:

-n, --name=NAME
   Name in description OID (eth0, ppp0 ...).
   This is treated as a regexp : -n eth will match eth0,eth1,...
   Test it before, because there are known bugs (ex : trailling /)

因此它应该与正则表达式一起工作,但看起来并不像。我尝试匹配适配器“Marvell Yukon 88E8056 PCI-E 千兆以太网控制器”的精确描述,但它给了我所有与此字符串匹配的适配器或什么都没有。我还有其他适配器,名称如下:

Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller - Deterministic Network Enhancer Miniport
Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller #2
...

我尝试了 regex Controller$,它与 grep 命令配合得很好,但没有与check_snmp_int命令匹配任何内容。

我也尝试用 关闭正则表达式-r switch,但没有发现任何东西。

有什么想法可以在不改变适配器描述的情况下解决这个问题?

答案1

我找到了一种也适用于性能数据生成的解决方案:

/usr/lib/nagios/plugins/check_snmp_netint.pl -H xxx.xxx.xxx.xxx -C public -n "Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller$" -fZkz

您现在应该看到如下输出:

Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller:UP (1.0KBps/7.0KBps) :(1 UP): OK |  'Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller_in_octet'=275793073c 'Marvell Yukon 88E8056 PCI-E Gigabit Ethernet Controller_out_octet'=74278639c

当您的图表到现在还不起作用,并且您看到输出中还包含“|”后面的部分时,只需删除位于以下位置的服务的旧 rrd 和 xml 文件:

/var/lib/pnp4nagios/perfdata

如您所见,我使用 pnp4nagios 作为绘图工具。希望这对某些人有帮助。

相关内容