PySNMP で MIB ファイルを使用しようとしています。コードはかなり単純です。複雑なことは何もありません。OID で情報を取得しようとしているだけです。私が使用しているコードは次のとおりです。
#!/usr/local/bin/python2.7
from pysnmp.smi import builder, view, error
from pysnmp.entity.rfc3413.oneliner import cmdgen
cmdGen = cmdgen.CommandGenerator()
mibBuilder = builder.MibBuilder()
mibPath = mibBuilder.getMibPath() + ( '/path/to/command/mibs', )
mibBuilder.setMibPath( *mibPath )
mibBuilder.loadModules(
'MIB-File',
)
mibView = view.MibViewController( mibBuilder )
errorIndication, errorStatus, errorIndex, \
varBindTable = cmdGen.nextCmd(
cmdgen.CommunityData( 'Name', 'Community' ),
cmdgen.UdpTransportTarget( ( 'IP Address', 161 ) ),
( ( '', 'serverName' ), ),
)
print varBindTable
asynCommandGenerator.asyncNextCmd
これに入力されたデータは、同じものを使用する場合と同じように正確でudpTransportTarget
あり、問題なく機能することを知っていますCommunityData
。さらに、私が見ているエラーは、MibBuilder コンポーネントに非常に固有のものです。
私が見ているエラーは次のとおりです。
トレースバック (最新の呼び出しが最後):
ファイル「./snmpcollectortest.py」の 11 行目
「NS-MIB-smiv2」、
ファイル "/usr/lib/python2.7/site-packages/pysnmp-4.2.1-py2.7.egg/pysnmp/smi/builder.py"、221 行目、loadModules
pysnmp.smi.error.SmiError: MIB モジュール "/path/to/command/mibs/MIB-File.py" ロード エラー: MIB ファイル "ASN1.py[co]" が検索パスに見つかりません
アップデート:
M2Crypto がインストールされていないことがわかったので、ASN1.py が見つかりませんでした。ただし、これを修正しましたが、まだ同じエラーが発生しています。