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