先看snmp的mib文件存放位置:
# net-snmp-config –default-mibdirs
/root/.snmp/mibs:/usr/share/snmp/mibs
或者这个命令也可以:
# snmpget -Dparse-mibs 2>&1 | grep directory
parse-mibs: Scanning directory /root/.snmp/mibs
parse-mibs: cannot open MIB directory /root/.snmp/mibs
parse-mibs: Scanning directory /usr/share/snmp/mibs
把array的mib文件放进去:
# ls /usr/share/snmp/mibs/ARRAY-MIB.txt
/usr/share/snmp/mibs/ARRAY-MIB.txt
顺便看看这个文件中array厂商的oid值为7564:
DESCRIPTION
“SMIv2 version converted from older MIB definitions.”
::= { enterprises 7564 }
查找这个mib文件名中的mib模块名称:
# pwd
/usr/share/snmp/mibs
# grep DEFINITIONS ARRAY-MIB.txt
CA-SNMP-MIB8 DEFINITIONS ::= BEGIN
他的名字叫 CA-SNMP-MIB8 ,添加到 /etc/snmp/snmpd.conf 中:
mibs +CA-SNMP-MIB8
重启snmpd服务,如果不能正确加载mib文件的话,就会出现 “Unknown Object Identifier” 这样的错误
解析mib文件中定义的OID和对应的描述:
# snmptranslate -Tz -m CA-SNMP-MIB8
# snmptranslate -Tz -m CA-SNMP-MIB8|column -t|head
如何实现oid和描述的转换呢?
# snmptranslate 1.3.6.1.2.1.1.3
SNMPv2-MIB::sysUpTime
# snmptranslate -On SNMPv2-MIB::sysUpTime
.1.3.6.1.2.1.1.3
snmptranslate 还可以查看 MIB 树的节点信息,比如 数据类型,单位 ..
#snmptranslate -Tp -OS -m CA-SNMP-MIB8 > /var/tmp/array.mib.list
查看保存的list文件就可以找到自己想要的值。
先利用之前的命令查看oid描述:snmptranslate -Tz -m CA-SNMP-MIB8
查值:snmpwalk -c public -v 2c 10.10.12.12 CA-SNMP-MIB8::ipStatsTable
疑问参考 http://www.net-snmp.org/FAQ.html
bye the way,array设备的产品不错,但是近两年逐渐没落,技术支持跟不上。
唉~