题
我继承了一个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。如果它是[我们的碱基OID] .1.3.0,甚至[我们的碱基OID] .2.4.0。[我们的碱基OID] .1.3我会明白。如果我们在生成{alertEvents 3}一个陷阱,将后缀是怎样的各个对象?
有可能是在MIB文件后更新,因此如果这看起来错误的专家那么又该OID是为alertDispatchTime?
感谢。
解决方案
如这里所定义,alertDispatchTime是一个标量对象(只有一个实例),因此它的实例subidentifier始终为0(完全OID为[corpAlert] .1.3.0)。通知的OID是[corpAlert] .2.4.0。
通过假设“[我们的碱基OID]”你的意思corpAlert,所示的SNMPTRAP命令不会看起来是正确的,因为[我们的碱基OID] .2.4.0.4.1.0将testFailureClearTrap.4.1.0 ,这没有任何意义:陷阱没有实例subidentifiers。但是我在这里让你还没有包括MIB规范的部分一些假设。
其他提示
如果你有一个工作系统,也许它会很好,如果你可以生成一个陷阱,查看其内容。
不隶属于 StackOverflow