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 がエラーを適切に処理しない場合) について、助けやアドバイスをいただければ幸いです。