本文向您展示了幾種向 Nagios 服務(wù)器發(fā)送Trap以測(cè)試 SNMP Trap功能的方法。
有時(shí)在對(duì) SNMP Trap問(wèn)題進(jìn)行故障排除時(shí),移除可能導(dǎo)致問(wèn)題的實(shí)際設(shè)備并改用 snmptrap 命令會(huì)非常有幫助。 此故障排除方法將確認(rèn)您的 Nagios 服務(wù)器是否正確接收 SNMP Trap并正確配置。
您將在 Nagios 主機(jī)本身上執(zhí)行該命令,這就是您在以下命令中看到 localhost 的原因。
當(dāng)您發(fā)送Trap時(shí),它當(dāng)然必須符合一組標(biāo)準(zhǔn)。 下面的每個(gè)部分都對(duì)這些選項(xiàng)進(jìn)行了解釋?zhuān)幸粋€(gè)選項(xiàng)很常見(jiàn)且需要解釋?zhuān)凑_\(yùn)行時(shí)間。
每個(gè)Trap都需要一個(gè)正常運(yùn)行時(shí)間值。 正常運(yùn)行時(shí)間是系統(tǒng)自啟動(dòng)以來(lái)運(yùn)行的時(shí)間。 有時(shí)這是操作系統(tǒng),其他設(shè)備可能會(huì)使用 SNMP 引擎正常運(yùn)行時(shí)間。 無(wú)論如何,都會(huì)發(fā)送一個(gè)值。
那么你應(yīng)該在下面的命令中輸入什么值? 奇怪的是,簡(jiǎn)單地使用兩個(gè)單引號(hào) '' 不提供任何值將指示命令從您正在執(zhí)行此操作的操作系統(tǒng)獲取值。
對(duì)于那些在處理之前深入挖掘并查看假脫機(jī)Trap的人來(lái)說(shuō),他們會(huì)想了解它是什么類(lèi)型的格式。 下面是一個(gè)例子:
DISMAN-EVENT-MIB::sysUpTimeInstance 36:2:40:51.67
這相當(dāng)于 36 天 2 小時(shí) 40 分 51.67 秒。
本節(jié)的關(guān)鍵點(diǎn)是您現(xiàn)在知道為什么下面的命令有兩個(gè)單引號(hào) '' 來(lái)表示正常運(yùn)行時(shí)間值。
下面的命令采用以下形式:
snmptrap -v -c
使用 MIB:
snmptrap -v 2c -c public localhost '' NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 123456
縮短 MIB:
snmptrap -v 2c -c public localhost '' netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 123456
使用 OID 代替 MIB:
snmptrap -v 2c -c public localhost '' 1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
上述命令需要在 /etc/snmp/snmptrapd.conf 中進(jìn)行以下設(shè)置
disableAuthorization yes
traphandle default /usr/sbin/snmptthandler
下面的命令采用以下形式:
snmptrap -v -e -u -a -A -x -X
使用 MIB:
snmptrap -v 3 -e 0x090807060504030201 -u the_user_name -a SHA -A the_SHA_string -x AES -X the_AES_string localhost '' NET-SNMP-EXAMPLES-MIB::netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 123456
縮短 MIB:
snmptrap -v 3 -e 0x090807060504030201 -u the_user_name -a SHA -A the_SHA_string -x AES -X the_AES_string localhost '' netSnmpExampleHeartbeatNotification netSnmpExampleHeartbeatRate i 123456
使用 OID 代替 MIB:
snmptrap -v 3 -e 0x090807060504030201 -u the_user_name -a SHA -A the_SHA_string -x AES -X the_AES_string localhost '' 1.3.6.1.4.1.8072.2.3.0.1 1.3.6.1.4.1.8072.2.3.2.1 i 123456
上述命令需要在 /etc/snmp/snmptrapd.conf 中進(jìn)行以下設(shè)置
disableAuthorization yes
traphandle default /usr/sbin/snmptthandler
createUser -e 0x090807060504030201 the_user_name SHA the_SHA_string AES the_AES_string
authUser log,execute,net the_user_name
以下Trap定義可以放在 /etc/snmp/snmptt.conf 中,這將允許上面發(fā)送的測(cè)試Trap傳遞到 Nagios:
EVENT netSnmpExampleHeartbeatRate .1.3.6.1.4.1.8072.2.3.0.1 "netSnmpExampleHeartbeatRate" Normal
FORMAT SNMP netSnmpExampleHeartbeatRate
EXEC /usr/local/bin/snmptraphandling.py "$r" "SNMP Traps" "$s" "$@" "" "netSnmpExampleHeartbeatRate"
從 net-snmp 網(wǎng)站:
Trap
TRAP 是從一個(gè)應(yīng)用程序發(fā)送到另一個(gè)應(yīng)用程序(通常位于遠(yuǎn)程主機(jī)上)的 SNMP 消息。 它們的目的僅僅是通知其他應(yīng)用程序發(fā)生了某些事情,已經(jīng)注意到等。 TRAP 的一個(gè)大問(wèn)題是它們未被確認(rèn),因此您實(shí)際上不知道遠(yuǎn)程應(yīng)用程序是否收到了您發(fā)給它的非常重要的消息。
INFORM
SNMPv2 PDU 通過(guò)引入 INFORM 的概念解決了這個(gè)問(wèn)題,INFORM 只不過(guò)是一個(gè)已確認(rèn)的 TRAP。 IE,當(dāng)遠(yuǎn)程應(yīng)用程序收到 INFORM 時(shí),它會(huì)發(fā)回一條“我知道了”消息。 這很好,因?yàn)榘l(fā)送Trap的人可以繼續(xù)嘗試,直到Trap通過(guò)。
上面的所有命令都可以從 snmptrap 更改為 snmpinform 這將允許您發(fā)送測(cè)試通知。
可以在以下知識(shí)庫(kù)文章中找到有關(guān)配置服務(wù)器以接受 SNMP TRAP 的更多詳細(xì)信息:
Nagios XI - SNMP Trap 強(qiáng)化
Nagios XI - SNMP Trap v3 配置
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話(huà):4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫(huà)