Nagios插件check_snmp从CISCO路由器接收无SNMP数据

我已经尝试在Ubuntu 10.10上设置Nagios,成功安装并可以login到Web界面,但是我一直在configurationsnmp,或者我在这里做了一些错误的事情,我跟着各种网站/ nagios wiki来设置configuration(cfg)文件。

当我检查Web界面时,在我的一台思科路由器上出现以下错误:

Current Status: UNKNOWN (for 0d 2h 55m 56s) Status Information: 

SNMP problem - No data received from host CMD: /usr/bin/snmpget -t 1 -r 5 -m RFC1213-MIB -v 1 [authpriv] 192.168.1.1:161
ifOperStatus.1

在命令行本身,当我input以下内容时,它只是坐在那里等待和等待:

sudo /usr/local/nagios/libexec/check_snmp -H 192.168.1.1 -C Routers -o sysUpTime.0

当我input以下命令:我得到一个确定

/usr/bin/snmpget -v1 192.168.1.1:161 1.3.6.1.2.1.1.5.0 -c "Routers"

我们已经在我们的思科设备上正确configuration了SNMP,因为我们可以通过其他两个监控工具(SolarWinds和Manage Engine)收集SNMP数据,我们正试图将Nagios作为开源。

不胜感激,如果有人可以协助纠正这种情况,并指导我设置nagios来监视思科路由器,交换机和一些服务器。

我们要监控带宽,CPU利用率,正常运行时间和其他必要的计数器。

将版本添加到check_snmp命令

也许你的思科交换机的MIBS没有加载。

如果你这样做会发生什么:

 sudo /usr/local/nagios/libexec/check_snmp -H 192.168.1.1 -C Routers -o 1.3.6.1.2.1.1.5.0 

而不是sysUpTime.0

如果可行的话,那就是MIBs – 请参阅net-snmp wiki来获取关于如何安装和使用 MIBS 的教程 。 否则请检查Mike Weber指出的语法

检查探针返回的值,浮点数不被expr支持,只有整数。 例如

 $expr 0.9 / 10 expr: non-numeric argument echo temp=$(expr $snmp / 10) # why echo? temp=$(echo "$snmp / 10" | bc -l) # should do it 

通过sed使用可选pipe道来提供.xx精度,例如

 temp=$(echo "$snmp / 10" | bc -l| sed 's/\(\.[0-9]\{2\}\)\(.*\)/\1/') 

条件遭受同样的问题,除非你只是截断结果到最接近的整数,你将需要做类似的事情:

 if [ $(echo "$temp < 28" | bc -l) -eq 1 ]; then :do your stuff here; fi 

另外在nagios脚本中,尝试使用实用程序的完整path来避免执行过程中出现“找不到path”的问题。

SNMP -Oidview