1

冷启动陷阱的参数 - 发生了什么以及如何找出它们应该是什么

您好,我是 SNMP 新手,有一个简单的问题。我正在尝试将冷启动陷阱发送到另一个系统。冷启动陷阱的 OID 是 1.3.6.1.6.3.1.1.5.1

这是 mib 中冷启动的描述:

冷启动通知类型状态当前描述“冷启动陷阱表示支持通知发起者应用程序的 SNMP 实体正在重新初始化自身,并且其配置可能已更改。” ::= { snmpTraps 1 }

到目前为止清楚。现在,我将尝试发送陷阱:

# snmptrap -v 2c -c public otherLinuxSystem SNMPv2-MIB::coldStart

这个命令返回:

 Missing trap-oid parameter

什么?mib 中没有关于参数的内容。所以,我用谷歌搜索,我发现添加了一个值,在这种情况下为 0:

    # snmptrap -v 2c -c public otherLinuxSystem SNMPv2-MIB::coldStart 0

作品。1或2也可以。这是我的问题:

是否所有陷阱都有一个参数并且它只是隐含的?这是在我错过的地方定义的吗?我怎么知道什么值代表什么?在这种情况下,0、1 和 2 是什么意思,我以后如何自己找到这个?谢谢。

4

1 回答 1

2

您观察到的问题与冷启动无关,而只是错误使用 net-snmp 的 snmptrap 命令的问题。如果您在不带参数的情况下调用“snmptrap”时查看使用信息的底部,您将看到:

  -v 1 TRAP-PARAMETERS:
         enterprise-oid agent trap-type specific-type uptime [OID TYPE VALUE]...
  or
  -v 2 TRAP-PARAMETERS:
         uptime trapoid [OID TYPE VALUE] ...

您在参数中指定了 -v 2c,因此 snmptrap 需要第二种形式。也就是说,目标地址(在您的示例中为 otherLinuxSystem)之后需要两个参数:sysUpTime.0 的值和 snmpTrapOID.0 的值,它们将包含在陷阱中(我怀疑在您的第二个示例中交换了参数)。

第一个指示陷阱发生的时间,第二个标识陷阱本身。两者都是所有 SNMPv2c/v3 陷阱中的必需变量;碰巧的是 net-snmp 的 snmptrap 要求您同时指定这两个(而不是说,如果未指定,则默认为 sysUpTime.0 的主机正常运行时间)。

于 2013-10-18T19:55:55.050 回答