本文内容适合有一定基础的同学,至少会完整的制作snmp模板、能看懂用snmpwalk出来的数据。 1、 拆分法 拆分法意思是把常规的、私有的指标和通用的指标分离,各自做成一个模板,类似开发语言的适配模式;不同的设备一般会有属于自己的私有OID,但当snmp模板做多了就会发现,市面上常见的服务器、网络设备在端口、网络接口方面的oid基本上是一致的;例如交换机、路由、防火墙等端口的oid几乎是.1.3.6.1.2.1.31.1.1.1/IF-MIB::ifName 这个节点,同时也发现使用snmpwalk命令出来的结果都是类似的。那么就可以把端口 interface 单独做一个模板,设备的只需要做私有oid节点的指标即可。添加监控的时候都链接上去就行了。

2、 关于私有oid节点的监控 有些设备的私有oid在官网一般是不能下载的,需要与厂家售后签保密协议才能发出来,而且你不能把私有的mib文件或者oid对外发。使用常规的snmpwalk命令是不能把一些关键的指标弄出来的,出来的只有常用的指标数据。 这里分享个小技巧,通常有私有oid的节点,一般是会以enterprise.***开头的,那么在使用snmpwalk的时候,直接用 snmpwalk –v 2c –c public IP enterprise > private.txt这条命令把设备的私有oid节点都输出到 private.txt,然后下载这个文本,找到里面的关键私有oid节点,完善采集模板,这样就可以获得关键部件的指标了。 例如: snmpwalk –v 2c –c public 10.172.60.33 enterprise 如下图所示,然后可以使用UCD-SNMP-MIB::memIndex 或者 memIndex做自动发现规则,把余下的加到自动发现监控项原型即可。 例如,如下图,可以根据节点索引 enterprises.4881.1.1.10.2.1.1.18.1 判断是供电电源的oid,那么就可以用这个制作自动发现规则。

效果如下图: