关于net-snmp使用第三方的mib库
安装net-snmp
#yum install net-snmp*
默认自带的mib库在/usr/share/snmp/mibs/下,有65个。
默认搜索mib库的路径为$HOME/.snmp/mibs:/usr/share/snmp/mibs
下载所需要的mib库,我下的是H3C的mib库,地址 http://www.h3c.com/portal/Products___Solutions/Technology/MIB/
把zip包解压到一个位置,如:/tmp/comware,里面包含三个目录:H3C Public MIB、H3C New Style Private MIB、H3C Compatible Style Private MIB,为了使用方便把目录名改为public、new、compatible。
解压compatible/Quick reference of H3C compatible style MIB objects description.rar,得到Quick reference of H3C compatible style MIB objects description.txt,然后在这个txt中搜索想要得到的信息,比如cpu,memory等。然后使用snmpwalk命令来测试能否得到数据。如:h3cEntityExtMemUsage
#snmpwalk -c public -v 2c 192.168.1.1 .1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8
如果可以得到数据,则说明此OID在当前交换机/路由器上有效,为了使用字符串查找,则需要添加相应的mib库给net-snmp使用。在Quick reference of H3C compatible style MIB objects description.txt刚才的h3cEntityExtMemUsage段,有-- FROM H3C-ENTITY-EXT-MIB说明它属于哪个mib库,然后在compatible目录下的mib文件中搜索以H3C-ENTITY-EXT-MIB开头的定义文件。
#grep ^H3C-ENTITY-EXT-MIB /tmp/comware/compatible/*
把找到的mib文件复制到目录/usr/share/snmp/mibs/h3c/下,然后创建snmp.conf文件
#vim /etc/snmp/snmp/conf
输入下面的内容:
mibdirs +/usr/share/snmp/mibs/h3c mibs +HUAWEI-LswDEVM-MIB:H3C-ENTITY-EXT-MIB mibAllowUnderline 1
保存退出,使用snmpwalk命令测试
#snmpwalk -c public -v 2c 192.168.1.1 .1.3.6.1.4.1.2011.10.2.6.1.1.1.1.8
把错误信息中说缺的mib库在/tmp/comware/compatible/下找到,都复制到/usr/share/snmp/mibs/h3c/下,然后使用命令测试。
#snmpwalk -c public -v 2c 192.168.1.1 -m H3C-ENTITY-EXT-MIB h3cEntityExtMemUsage
如果输出类似于下面的字符串,那么就OK了。
#snmpwalk -c public -v 2c 192.168.1.1 -m H3C-ENTITY-EXT-MIB h3cEntityExtMemUsage