天天看點

net-snmp擴充MIB(靜态方式)

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,

                  ,

                  );

            break;

改為:

case MODE_GET:

            snmp_set_var_typed_value(requests->requestvb, ASN_OCTET_STR,

            (u_char*)"123"        ,

            strlen("123")         );

            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