我有一个发送 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 警报。