Juniper knowledge base表示你可以点击jnxOperatingCPU.x.x.x.x
来获取设备的内存使用量,x.x.x.x
是“最后4个八位字节”,在我的情况下是“9.1”。 0.0" 。
我似乎无法使用pysnmp的getCmd()方法获得这样的结果。我有JUNIPER-MIB,但脚本返回:
没有符号JUNIPER-MIB :: jnxOperatingCPU.9.1.0.0 at< pysnmp.smi.builder.MibBuilder对象位于0x198b810>
我有另一个可以到达此OID的SNMP监控工具,所以我知道它在此设备上有效。我也可以使用完整的数字OID来获取值,但我宁愿拥有漂亮的名字。
可能有人在pysnmp.hlapi中使用这样的OID吗?
答案 0 :(得分:1)
从错误消息中看起来您错误地使用了ObjectIdentity
类(虽然粘贴代码片段会有所帮助)。
根据JUNIPER-MIB,jnxOperatingCPU
对象属于具有以下索引的jnxOperatingTable
表:
jnxOperatingEntry OBJECT-TYPE
SYNTAX JnxOperatingEntry
MAX-ACCESS not-accessible
STATUS current
DESCRIPTION
"An entry of operating status table."
INDEX { jnxOperatingContentsIndex,
jnxOperatingL1Index,
jnxOperatingL2Index,
jnxOperatingL3Index }
::= { jnxOperatingTable 1 }
所有四个索引都是Integer32
类型。
因此请尝试:
ObjectIdentity('JUNIPER-MIB', 'jnxOperatingCPU', 9, 1, 0, 0)
以下是ObjectIdentity
类的documentation。