我正在阅读监控路由器和交换机页面,特别是“监控 SNMP 状态信息”部分。
引用:
在上面的例子中,“-o ifOperStatus.1”指的是交换机上端口 1 的运行状态的 OID。“-r 1”选项告诉 check_snmp 插件,如果在 SNMP 结果中找到“1”(1 表示端口处于“启动”状态),则返回 OK 状态,如果没有找到,则返回 CRITICAL。“-m RFC1213-MIB”是可选的,它告诉 check_snmp 插件仅加载“RFC1213-MIB”,而不是加载系统上安装的每个 MIB,这有助于加快速度。
因此,我正在尝试他们的例子:
# /usr/lib/nagios/plugins/check_snmp --hostname=X.X.X.X --community=X --protocol=X --oid=ifOperStatus.5 -r1 -m RFC1213-MIB
SNMP OK - 1 | RFC1213-MIB::ifOperStatus.5=1
#
接口返回SNMP OK - 1
- 接口处于“启动”状态。我关闭了另一个接口,并对该接口运行了相同的命令。
# /usr/lib/nagios/plugins/check_snmp --hostname=X.X.X.X --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
-接口已关闭
我不知道如何才能-r1
正常工作,因为即使它看到该接口已关闭,它也会将其传递给 Nagios,因为它正常。有什么想法我做错了吗?
答案1
作为“解决方法”(尽管事实并非如此),可以使用-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=X.X.X.X --community=X --protocol=X --oid=ifOperStatus.6 -c1
SNMP CRITICAL - *2* | IF-MIB::ifOperStatus.5=2
#