0
我想使用python的pysnmp库来获取snmp数据。在数据中有些COUNTER64对象可用,但没有得到检索。如何检索pysnmp中的Counter64对象?
命令 -
snmpwalk -v 1 -c public <ip address>:<port> xyz::pqr
输出 -
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.12.1 = Counter64: 2761552407
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.12.2 = Counter64: 0
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.12.3 = Counter64: 0
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.13.1 = Counter64: 2299496
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.13.2 = Counter64: 0
.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.13.3 = Counter64: 0
使用pysnmp -
from pysnmp.hlapi import *
for (errorIndication,
errorStatus,
errorIndex,
varBinds) in nextCmd(SnmpEngine(),
CommunityData('public', mpModel=0),
UdpTransportTarget(('ip', port)),
ContextData(),
ObjectType(ObjectIdentity('.1.3.6.1.4.1.16136.13.5.1.200.1.51.1.12'))):
if errorIndication or errorStatus:
print(errorIndication or errorStatus)
break
else:
for varBind in varBinds:
print(' = '.join([x.prettyPrint() for x in varBind]))
输出 -
No SNMP response received before timeout
我该如何检索COUNTER64对象?我错过了什么吗?
@IIya Etingof-这意味着,我想要的是不可能的?因为根据** snmpwalk -v 1 -c public: xyz :: pqr **命令它是版本1. –
kit
@kit尝试运行'snmpwalk -v1 -c public demo.snmplabs.com IF-MIB :: ifXTable '并将其与'snmpwalk -v2c -c public demo.snmplabs.com IF-MIB :: ifXTable'进行比较。在SNMPv1上运行时,正确的SNMPv1引擎应该放弃Counter64值。看起来这是snmpwalk所做的。 –
@IIya Etingof-在我的情况下,snmpwalk -v 1 -c public: xyz :: pqr命令不会丢弃Counter64值。我能够检索所有的值,只有Counter64值不被检索。有没有其他的方式来做到这一点,因为在java中,我们可以设置SNMP4JSettings.setAllowSNMPv2InV1(true);属性为true。 –
kit