アプリケーションのいくつかの特定の OID で GET コマンドを実行しようとしています。.txt 形式のカスタム MIB ファイルがあります。http://www.ibr.cs.tu-bs.de/projects/libsmi/tools/経由でファイルを .py 形式に変換しました
このエラーが発生します。出力を X-MIB.py として保存し、続行します。
smidump: module `mibs/AGILINK-MIB' contains errors, expect flawed output.
X-MIB.py ファイルを C:\Python27\Lib\site-packages\pysnmp\smi\mibs に保存しました。これが悪い習慣であることは理解していますが、それが機能するかどうかをテストしたかっただけです。
いくつかの OID を取得するスクリプトは次のとおりです。
from pysnmp.entity.rfc3413.oneliner import cmdgen
cmdGen = cmdgen.CommandGenerator()
errorIndication, errorStatus, errorIndex, varBinds = cmdGen.getCmd(
cmdgen.CommunityData('public'),
cmdgen.UdpTransportTarget(('169.254.0.1', 161)),
cmdgen.MibVariable('X-MIB', 'aglGwDesc', '0'),
cmdgen.MibVariable('SNMPv2-MIB', 'sysUpTime', '0'),
lookupNames = True,
lookupValues = True
)
# Check for errors and print out results
if errorIndication:
print(errorIndication)
elif errorStatus:
print(errorStatus)
else:
print('%s = %s' % (name.prettyPrint(), val.prettyPrint()))
for name, val in varBinds:
エラーは次のとおりです。
Traceback (most recent call last):
File "getting_started.py", line 11, in <module>
lookupValues = True
File "C:\Python27\lib\site-packages\pysnmp\entity\rfc3413\oneliner\cmdgen.py", line 424, in getCmd
kwargs.get('contextName', null)
File "C:\Python27\lib\site-packages\pysnmp\entity\rfc3413\oneliner\cmdgen.py", line 277, in getCmd
self.makeReadVarBinds(varNames),
File "C:\Python27\lib\site-packages\pysnmp\entity\rfc3413\oneliner\cmdgen.py", line 201, in makeReadVarBinds
[ (x, self._null) for x in varNames ], oidOnly=True
File "C:\Python27\lib\site-packages\pysnmp\entity\rfc3413\oneliner\cmdgen.py", line 209, in makeVarBinds
varName.resolveWithMib(self.mibViewController, oidOnly=True)
File "C:\Python27\lib\site-packages\pysnmp\entity\rfc3413\oneliner\mibvar.py", line 159, in resolveWithMib
self.__modName, self.__symName
File "C:\Python27\lib\site-packages\pysnmp\smi\builder.py", line 302, in importSymbols
'No module %s loaded at %s' % (modName, self)
pysnmp.smi.error.SmiError: No module X-MIB loaded at <pysnmp.smi.builder.MibBuilder instance at 0x02D6B8F0>
私の質問は、このエラーを解決するにはどうすればよいですか? X-MIB.py ファイルを作成する際の以前のエラーが原因ですか?
エラーが「パスに X-MIB が見つかりません」などと表示されていないため、X-MIB.py ファイルを表示できることはわかっています。http://pysnmp.sourceforge.net/のドキュメントを読みましたが、従うことができません。