我已输入所有 Nagios 设置来监控此情况,但我的命令超时了:
./check_snmp -H 10.100.0.20 -o READYNAS-MIB::volumeStatus.1 -C public -P 2c
我注意到我没有 ReadyNAS snmp 的 MIB。ReadyNAS 在此处发布了一个包含此信息的文本文件:
http://wiki.comdivision.com/display/cdconstech/Nagios+Config+to+monitor+ReadyNAS+Devices
我正在使用 Ubuntu。我把这个 .txt 文件放在 /usr/share/snmp/ 中。我怀疑这是不正确的。
在我的 Netgear 上,我将其设置为使用 snmp“公共”并允许我的 nagios 服务器访问:
https://i.stack.imgur.com/bzLsW.png
当我运行 check_snmp 命令时,它就超时了。有什么办法可以解决这个问题吗?我对 nagios 和 snmp 不太熟悉。谢谢。
答案1
mibs 的默认搜索路径可能不包括 /usr/share/snmp,也不包括 /usr/share/snmp/mibs,这取决于您所处理的 Ubuntu 版本。
我相信任何最新版本的“正确”位置都是 /usr/share/mibs/site/,这应该会导致 snmp 工具自动发现它。
一般来说,您应该避免在 nagios 中使用人类可读的 OID 引用;这会影响性能,并且很容易崩溃(正如您所发现的)。
获得 MIB 并发现您感兴趣的 OID 后,使用 snmptranslate,或将“-On”添加到 snmpwalk/snmpget,以获取数字 OID。您也可以通过 MIB 浏览器找到它们。
Nagios Exchange 上有几个用于检查 ReadyNAS 设备的插件: http://exchange.nagios.org/directory/Plugins/Hardware/Storage-Systems/SAN-and-NAS
您可能想尝试其中一种,而不是与库存的 check_snmp 插件作斗争,或者重新发明轮子。
答案2
在 Ubuntu 上,READYNAS-MIB.txt 应该进入 /usr/share/snmp/mibs 而不是 /usr/share/snmp
然后如果你运行
snmptranslate -Td READYNAS-MIB::volumeStatus.1
它应该会显示 volumeStatus 的定义。如果不起作用,请尝试删除 /usr/share/snmp/mibs/.index 并重试。
要查看 ReadyNAS 上所有值得监控的 SNMP 数据,请运行
snmpwalk -v1 -cpublic 10.100.0.20 .1 > somefile
“.1”将为您提供 ReadyNAS 的所有内容 SNMP OID。
答案3
尝试使用 OID 值代替名称...而不是 READYNAS-MIB::volumeStatus.1 使用数字(我不知道它的 OID 值,但应该是类似 1.23.5.45.56.67 bla bla 之类的值)只是为了确保 snmpt 正常工作,如果它给了你结果,那就是 mib 的问题,如果没有,尝试查看端口是否对 SNMP 开放(如果你使用防火墙)