Monitoring

為什麼 snmptt 不翻譯這個陷阱?

  • October 25, 2017

我有一個發送 snmp v1 陷阱的設備,但 snmptt 無法翻譯它們。為了獲取陷阱的副本,我停止了 snmptt 服務,並將陷阱複製到 /tmp。

我試圖觸發的 OID 是:

.1.3.6.1.4.1.476.1.42.3.2.1.15

這是來自的原始陷阱/var/spool/snmptt

<UNKNOWN>
UDP: [10.108.64.250]:4999->[170.6.78.54]
.1.3.6.1.2.1.1.3.0 1:7:58:27.81
.1.3.6.1.6.3.1.1.4.1.0 .1.3.6.1.4.1.476.1.42.3.3.0.0.2
.1.3.6.1.4.1.476.1.42.3.2.3.1.1.19 19
.1.3.6.1.4.1.476.1.42.3.2.3.1.2.19 .1.3.6.1.4.1.476.1.42.3.2.1.15
.1.3.6.1.4.1.476.1.42.3.2.3.1.3.19 1:7:58:27.79
.1.3.6.1.6.3.18.1.3.0 10.108.64.250
.1.3.6.1.6.3.18.1.4.0 "public"
.1.3.6.1.6.3.1.1.4.3.0 .1.3.6.1.4.1.476.1.42.3.3.0

這是來自的條目snmpttunknown.log

Thu Jul 10 14:32:05 2014: Unknown trap (.1.3.6.1.4.1.476.1.42.3.3.0.0.2) received from 10.108.64.250 at: 
Value 0: 10.108.64.250
Value 1: 10.108.64.250
Value 2: 1:5:34:06.89
Value 3: .1.3.6.1.4.1.476.1.42.3.3.0.0.2
Value 4: 10.108.64.250
Value 5: public
Value 6: .1.3.6.1.4.1.476.1.42.3.3.0
Value 7: 
Value 8: 
Value 9: 
Value 10: 
Ent Value 0: .1.3.6.1.4.1.476.1.42.3.2.3.1.1.15=15
Ent Value 1: .1.3.6.1.4.1.476.1.42.3.2.3.1.2.15=.1.3.6.1.4.1.476.1.42.3.2.1.1
Ent Value 2: .1.3.6.1.4.1.476.1.42.3.2.3.1.3.15=1:4:57:29.29

如您所見,snmptt 認為 OID 是.1.3.6.1.4.1.476.1.42.3.3.0.0.2. 它不是。

有沒有辦法配置 snmptt 以觸發陷阱中的任何匹配 OID?

任何其他無需去供應商的情況下保存它的方法(我認為這是一個大黑洞)。

我能夠弄清楚這一點。Liebert 表示他們只擷取 1 個 OID。然後 varbind 2 包含特定於 OID 的警報。因此,在 SNMPTT 中,我創建了一個特殊的 Liebert 腳本,該腳本採用 varbind 2($2來自EXEC),然後將其與 case 語句匹配,該語句為我們關心的 varbind 2 OID 設置 Nagios 警報。

引用自:https://serverfault.com/questions/611738