Python 错误的网络snmp错误处理
在python中是否可以使用网络snmp捕获错误(例如由于超时) 我正在使用以下代码:Python 错误的网络snmp错误处理,python,snmp,net-snmp,Python,Snmp,Net Snmp,在python中是否可以使用网络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(
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软件包安装)
我希望您能提供一些帮助,甚至建议我使用哪个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
我能帮忙吗
感谢5.7.3版中的sapamja(从源RPM:net-snmp-5.7.3-4.5.src.RPM构建),ErrorNum始终为零,但ErrorStr将有一个值。抱歉,无法帮助您-但您应该将问题作为新问题发布,而不是作为答案发布。我看到你的问题只是因为我被通知了,我怀疑其他人会看到它。单击“提问”(右上角)并从那里继续。祝你好运谢谢你,我在另一个问题中问过你。
Package: libsnmp-python
Version: 5.4.3~dfsg-2
Homepage: http://net-snmp.sourceforge.net/