为什么 snmptt 没有翻译这个陷阱?

为什么 snmptt 没有翻译这个陷阱?

我有一个设备正在发送 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?

有没有其他方法可以挽救这种情况而不用去供应商(我认为这是一个巨大的黑洞)。

答案1

我能够弄清楚这一点。Liebert 表示他们只在 1 个 OID 上设置陷阱。然后 varbind 2 包含特定于 OID 的警报。因此,在 SNMPTT 中,我创建了一个特殊的 Liebert 脚本,该脚本采用 varbind 2(来自$2EXEC,然后将其与 case 语句匹配,该语句为我们关心的 varbind 2 OID 设置 Nagios 警报。

相关内容