SNMP陷阱中的子OID是什么?

时间:2009-08-25 20:11:56

标签: snmp mib snmp-trap

我继承了MIB和示例文档,需要重新实现生成陷阱的代码。 (由于各种原因,原始代码丢失并永远消失,但CM不是我的问题。)

MIB说:

    alertObjects     OBJECT IDENTIFIER ::= { corpAlert 1 }

    alertEvents      OBJECT IDENTIFIER ::= { corpAlert 2 }

    alertDispatchTime OBJECT-TYPE
        SYNTAX OCTET STRING
        MAX-ACCESS read-only
        STATUS current
        DESCRIPTION
            "Time Event Dispatched"
        ::= { alertObjects 3 }

    testFailure OBJECT IDENTIFIER ::= { alertEvents 4 }

    testFailureClearTrap NOTIFICATION-TYPE
    OBJECTS  
    { 
        alertDispatchTime,
        [omitted]
    }
    STATUS   current
    DESCRIPTION
         "Clear prior failure"
   ::= { testFailure 0 }

我们的文档包含以下代码段:

/usr/bin/snmptrap \
   -v 1 \
   -c public 192.168.0.2:162 [our-base-oid] 127.0.0.1 6 4 '' \
   [our-base-oid].2.4.0.4.1.0 s "May 21 2007 10:19PM" \
   [etc]

我无法弄清楚的是用于警报发送时间的OID。我会理解它是[our-base-oid] .1.3.0,甚至是[our-base-oid] .2.4.0。[our-base-oid] .1.3。如果我们在{alertEvents 3}生成一个陷阱,那么各个对象的后缀是什么?

有可能在文档之后更新了MIB,因此如果专家看起来不对,那么对于alertDispatchTime,OID应该是什么?

感谢。

2 个答案:

答案 0 :(得分:2)

如此处所定义,alertDispatchTime是一个标量对象(只有一个实例),因此其实例subidentifier始终为0(完整OID为[corpAlert] .1.3.0)。通知的OID是[corpAlert] .2.4.0。

假设“[our-base-oid]”是指corpAlert,显示的snmptrap命令看起来不正确,因为[our-base-oid] .2.4.0.4.1.0将是testFailureClearTrap.4.1.0 ,没有意义:陷阱没有实例子标识符。但是我在这里做了一些关于你没有包含的MIB规范部分的假设。

答案 1 :(得分:1)

如果你有一个工作系统,如果你能产生一个陷阱并看到它的内容,那也许会很好。