我在阅读“ 监控路由器和交换机”页面,特别是“监控SNMP状态信息”部分。
引用:
在上例中,“-o ifOperStatus.1”表示交换机上端口1的运行状态的OID。 如果在SNMP结果中find“1”(1表示端口上的“up”状态),则“-r 1”选项告诉check_snmp插件返回OK状态,如果未find则返回CRITICAL。 “-m RFC1213-MIB”是可选的,它告诉check_snmp插件只加载“RFC1213-MIB”而不是你的系统上安装的每一个MIB,这可以帮助加快速度。
所以,我正在尝试他们的例子:
# /usr/lib/nagios/plugins/check_snmp --hostname=XXXX --community=X --protocol=X --oid=ifOperStatus.5 -r1 -m RFC1213-MIB SNMP OK - 1 | RFC1213-MIB::ifOperStatus.5=1 #
接口返回SNMP OK - 1 – 接口为“up”。 我把另外一个界面放下来,并为那个界面运行相同的命令。
# /usr/lib/nagios/plugins/check_snmp --hostname=XXXX --community=X --protocol=X --oid=ifOperStatus.6 -r1 -m RFC1213-MIB SNMP OK - 2 | RFC1213-MIB::ifOperStatus.6=2 # # snmpwalk -Os -cX -vX X ifOperStatus.6 ifOperStatus.6 = INTEGER: down(2) #
返回SNMP OK - 2 – 接口closures
我无法弄清楚如何使-r1正常工作,因为即使它看到界面已经closures,它仍然会传递给Nagios。 任何想法我做错了什么?
作为“解决方法”(即使它不是),可以使用-c或-w代替-r ,因为-r似乎有某种错误。
# ./check_snmp --help | grep -E 'critical|warning' -w, --warning=THRESHOLD(s) -c, --critical=THRESHOLD(s) #
例:
# /usr/lib/nagios/plugins/check_snmp --hostname=XXXX --community=X --protocol=X --oid=ifOperStatus.6 -c1 SNMP CRITICAL - *2* | IF-MIB::ifOperStatus.5=2 #