既然有支持SNMP协议,那就好办了,众所周知,nagios支持自定义脚本命令,通过脚本退出返回状态码来判断。脚本是用python写的,主要是使用的netsnmp模块,具体代码如附件所示。另外nagios的自定义命令配置也懒得说,网上资料很多,也可以参考下参考文章。个人感觉是如果能拿到厂商设备的MIB库,根据厂商的自定义MIB库信息来写脚本获取相应信息就真的容易很多了,如果是没有,则只能用snmpwalk获取设备OID再慢慢匹配对应,则真的是会死人的。附件有个DME3000设备的MIB,分享下。


参考文章:
http://blog.chinaunix.net/uid-26978448-id-3389951.html
http://blog.chinaunix.net/uid-26978448-id-3385856.html
http://zhangxz.blog.51cto.com/5490116/1321862