[英]erroneous net-snmp error handling
是否可以在python中使用net-snmp捕获错误(例如由于超时)?
我正在使用此代码:
import netsnmp
import pprint
session = netsnmp.Session(Version = 2, DestHost='192.168.0.1',
Community='public', Timeout=10000, Retries=1, UseNumeric=1)
oid_obj = netsnmp.VarList(netsnmp.Varbind('.1.3.6.1.2.1.2.2.1.1'))
value_obj = session.walk(oid_obj)
# print the result and the error codes:
pprint.pprint(value_obj)
print("Error status: ", session.ErrorStr, session.ErrorNum, session.ErrorInd)
由于超时时间短,我得到的结果不完整-很好(请注意,超时时间以微秒为单位 )。 没有任何错误提示是不好的:
('1001', '1002', '1003')
('Error status: ', '', 0, 0)
我看错地方了吗?
这就是我正在使用的:(作为Debian软件包安装)
Package: libsnmp-python
Version: 5.4.3~dfsg-2
Homepage: http://net-snmp.sourceforge.net/
我将不胜感激,甚至希望就采用哪个SNMP库提供建议(如果Net-SNMP无法正确处理错误)。
在5.4.4之前,Net-SNMP python绑定中存在错误(未返回错误代码)-升级解决了该问题。 希望它可以帮助某人。
仍然在ErrorStr中获取空字符串
在OEL linux上工作:安装了以下版本:
net-snmp-5.5-41.el6_3.1.x86_64
net-snmp-python-5.5-41.el6_3.1.x86_64
net-snmp-utils-5.5-41.el6_3.1.x86_64
net-snmp-libs-5.5-41.el6_3.1.x86_64
无法获取ErrorStr超时。
可以帮忙。
谢谢sapamja
在版本5.7.3(从源RPM构建:net-snmp-5.7.3-4.5.src.rpm)中,ErrorNum始终为零,但ErrorStr将具有一个值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.