一、编写MIB文件
这里我们建立一个mib文件,命名为TEST-TRAP-MIB.txt,放在/usr/local/net-snmp/share/snmp/mibs/目录下因为这个目录是snmpd的默认目录,只要把MIB库放入该目录就可以自动加载MIB库,否则需要修改snmpd.conf文件,自定义的MIB文件如下:
--开始
TEST-TRAP-MIB DEFINITIONS ::= BEGIN
--引入部分
IMPORTS
MODULE-IDENTITY, OBJECT-TYPE, TimeTicks FROM SNMPv2-SMI
DisplayString, FROM SNMPv2-TC
enterprises
FROM RFC1155-SMI; --引用结束,用分号
--定义节点
--enterprises的OID是1.3.6.1.4
testTrap OBJECT IDENTIFIER ::= { enterprises 12581 }
TestTraps OBJECT IDENTIFIER ::= { testTrap 1 }
cpuRatioHigh NOTIFICATION-TYPE
OBJECTS {SystemTrapDescription}
STATUS current
DESCRIPTION "."
::= { TestTraps 1 }
TestDescription OBJECT IDENTIFIER ::= { TestTraps 2 }
TestTrapDescription OBJECT-TYPE
SYNTAX DisplayString (SIZE (0..256))
MAX-ACCESS read-only
STATUS current
DESCRIPTION " "
::= { TestDescription 1 }
--结束定义
END
写完后我们测一个MIB库有没有问题,在linux机器上用snmptranslate-Tp -IR TEST-GET-MIB::testGet显示结果如下:(这个测试不需要启动snmpd进程)
[root@localhostbin]# ./snmptranslate -Tp -IR TEST-TRAP-MIB::testTrap