net-snmp扩展MIB(静态方式)

来源:互联网 发布:华彩人生炒股软件 编辑:程序博客网 时间:2024/06/08 14:50

1、安装net-snmp成功后,确认net-snmp是停止运行状态。

2.新建My-MIB.txt文件。
cd /usr/share//snmp/mibs
vi My-MIB.txt
内容为:
My-MIB DEFINITIONS::= BEGIN
 
IMPORTS
 enterprises, OBJECT-TYPE, Integer32
    FROM SNMPv2-SMI
 TEXTUAL-CONVENTION, DisplayString
    FROM SNMPv2-TC;
 My OBJECT IDENTIFIER::={enterprises 310}
 Warn OBJECT IDENTIFIER::={My 1}
 
SysSt OBJECT-TYPE
 SYNTAX      DisplayString
 ACCESS      read-only
 STATUS      current
 DESCRIPTION "My SysSt"
 ::={Warn 1}
 
END
保存退出
wq

3、新建snmp.conf文件
cd /usr/share/snmp
vi snmp.conf
内容为:
mibs +My-MIB
保存退出
wq

4、检测检查MIB文件是否正确:
snmptranslate -IR -Tp My
结果:
+--My(310)
   |
   +--Warn(1)
      |
      +-- -R-- String    SysSt(1)
               Textual Convention: DisplayString
               Size: 0..255

5、将/usr/share/snmp/mibs下的My-MIB.txt,复制到/usr/local/net-snmp/share/snmp/mibs

6、export MIBS=ALL

7、编译生成.c 和.h文件
/usr/local/net-snmp/bin/mib2c -c mib2c.scalar.conf Warn

8、在/usr/local/net-snmp/bin/下的生成Warn.c和Warn.h文件。
将.c 和.h文件移动到/usr/local/net-snmp-5.7.2/agent/mibgroup

9、编辑生成的.c文件
cd /usr/local/net-snmp-5.7.2/agent/mibgroup
vi Warn.c
修改
case MODE_GET:
            snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
                  /* XXX: a pointer to the scalar's data */,
                  /* XXX: the length of the data in bytes */);
            break;
改为:
case MODE_GET:
            snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,
            (u_char*)"123"        /* XXX: a pointer to the scalar's data */,
            strlen("123")         /* XXX: the length of the data in bytes */);
            break;
保存退出
wq。

10、重新配置configure参数编译  --with-mib-modules=Warn

11、编译安装:make && make install

12、启动服务
cd /etc/init.d  
成功后启动服务:
service snmpd start

13、测试:
snmpwalk -v3 -u jiankongbao -l auth -a MD5 -A password  localhost  .1.3.6.1.4.1.310
输出
My-MIB::SysSt.0 = STRING: 123

原创粉丝点击