簡體   English   中英

NET-SMP錯誤處理

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM