我将我自己的MIB模块添加到net-snmp。
我把我的Mib txt文件放在 – '/ usr / local / share / snmp / mibs'
我看到,如果我改变net-snmp文件他们的变化是反映,所以这mibs加载正确。 它似乎没有从那里加载我的MIB文件。
当我在我的Mib上运行snmptranslate像这样:
snmptranslate .1.3.6.1.4.1.8077
我得到:
SNMPv2-SMI::enterprises.8077
我的MIB def:
TEST-MIB DEFINITIONS ::= BEGIN IMPORTS MODULE-IDENTITY, enterprises FROM SNMPv2-SMI; testMib MODULE-IDENTITY DESCRIPTION "First draft" ::= { enterprises 8077} testMibObject OBJECT IDENTIFIER ::= {testMib 1} END
要findsnmp.conf的位置,可以使用:
snmpd -Dread_config -H 2>&1 | grep“config path”| sorting-u
然后告诉工具来加载这个MIB
(例子)::
snmpwalk -m +MY-MIB ..... (load it for this command only) or export MIBS=+MY-MIB (load it for this session only) or echo "mibs +MY-MIB" >> $HOME/.snmp/snmp.conf (load it every time)
在这里你可以find所有情况的参考: 使用和加载MIBS
我把MIB保存到一个文件TEST-MIB中,放在/ usr / share / snmp / mibs下, snmptranslate能够findtestMib对象,尽pipe你的MIB缺less一些符合标准的字段:
$ snmptranslate .1.3.6.1.4.1.8077 No log handling enabled - using stderr logging Expected LAST-UPDATED (DESCRIPTION): At line 6 in /usr/share/snmp/mibs/TEST-MIB TEST-MIB::testMib
为了使你的MIB符合你可以使用工具smidump ,它会告诉你一切你的MIB缺less正确符合:
$ smidump /usr/share/snmp/mibs/TEST-MIB /usr/share/snmp/mibs/TEST-MIB:6: syntax error, unexpected DESCRIPTION, expecting LAST_UPDATED /usr/share/snmp/mibs/TEST-MIB:13: missing MODULE-IDENTITY clause in SMIv2 MIB /usr/share/snmp/mibs/TEST-MIB:10: unknown object identifier label `testMib' smidump: module `/usr/share/snmp/mibs/TEST-MIB' contains errors, expect flawed output smidump: aborting due to severe parsing errors smidump: use the -k option to force continuation