SNMP trap的基本應用
在SNMP中,我們通常會使用SNMP trap的相關(guān)定義。不少朋友都不知道如何應用。今天我們就來解析一下有關(guān)的內(nèi)容。那么,第一,我們先來看看Trap的意思。Trap在SNMP中我們可以翻譯成陷阱或者是自陷。被管理設(shè)備中的代理可以在任何時候向網(wǎng)絡(luò)管理工作站報告錯誤情況,例如預制定閾值越界程度等等。代理并不需要等到管理工作站為獲得這些錯誤情況而輪詢他的時候才會報告。這些錯誤情況就是眾所周知的SNMP自陷(trap)。
在這種結(jié)合的方法中,當一個設(shè)備產(chǎn)生了一個自陷時,你可以使用網(wǎng)絡(luò)管理工作站來查詢該設(shè)備(假設(shè)它仍然是可到達的),以獲得更多的信息。
用snmptrapd接收SNMP trap信息,并將其寫入特定文檔2009-03-20 14:42最近在研究snmp trap、snmptrapd信息,目前為止還沒研究出如何使snmp trap自動發(fā)信息。但是可以用snmptrapd接收SNMP trap信息,并將其寫入特定文檔。
一、管理端
建立/usr/share/snmp/snmptrapd.conf(我的機器上是這個,不同機器不同,可能有的放在/etc/snmp,/usr/local/share/snmp/下,視不同情況慢慢實驗)
加入以下一行:
設(shè)置所有用戶的訪問權(quán)限:可執(zhí)行,記錄,傳遞:
- authcommunity execute,log,net public
設(shè)置traphandle(即收到.1.3.6.1.4.1.2021.251.1類OID信息時,執(zhí)行test.pl)
- traphandle .1.3.6.1.4.1.2021.251.1 /home/long/test.pl
這里.1.3.6.1.4.1.2021.251.1是Enterprise-OID
/home/long/test.pl是一個處理的perl文件:
- #!/usr/bin/perluse strict;my $file="file.trap";open(HANDOUT,">>./$file");
- while(<STDIN>){print HANDOUT "$_";}
這是將snmp trap發(fā)過來的數(shù)據(jù)包輸入到file.trap文件中然后啟動/etc/init.d/snmpd start,這個要先啟動,然后使用"snmptrapd -c /etc/snmp/snmptrapd.conf"
二、代理端
在另外一臺機器中輸入命令:
- snmptrap-v 2c -c public 192.168.126.99 "" .1.3.6.1.4.1.2021.251.1 sysLocation.0 s "longtengfei"
- 192.168.126.99 就是剛才的管理端的地址,.1.3.6.1.4.1.2021.251.1對應的就是管理端的snmptrapd.conf中的Enterprise-OID.
執(zhí)行的結(jié)過就會出現(xiàn):在file.trap(在/root/file.trap目錄下)文件內(nèi)容變成:
- <UNKNOWN>UDP:[192.168.126.200]:35327DISMAN-EVENT-MIB::sysUpTimeInstance 3:1:37:20:21
- SNMPv2-MIB::snmpTrapOID.0 UCD-SNMP-MIB::ucdStartSNMPv2-MIB::sysLocation.0 longtengfei