Wer wie ich eine MIB-Datei parsen muss und pysnmp benutzt, wird sich vielleicht wundern, dass die Beschreibung einer Variable (in der MIB-Datei DESCRIPTION) immer leer ist:
>>> from pysnmp.smi import builder
>>> b = builder.MibBuilder()
>>> b.loadModules('SNMPv2-MIB')
<pysnmp.smi.builder.MibBuilder instance at 0x7f8e07443830>
>>> node = b.importSymbols('SNMPv2-MIB','sysDescr')
>>> node[0].getName()
(1, 3, 6, 1, 2, 1, 1, 1)
>>> node[0].getDescription()
''
>>>
In der/dem Dokumentation/Tutorial findet man leider keinen einzigen Hinweis. Es wird allerdings auch erwähnt, dass es noch unvollständig ist. Ein Beitrag aus der Mailinglist aus dem Jahre 2008 erwähnt dieses Problem. Einer der Entwickler schreibt, dass aus Speicher- und CPU-Zeitgründen die Description nicht geladen wird. Einige Zeit später wird erwähnt, dass es optional geladen werden kann. Wenn man in den Quellcode schaut, erfährt man auch wie:
>>> from pysnmp.smi import builder
>>> b = builder.MibBuilder()
>>> b.loadTexts = 1
>>> b.loadModules('SNMPv2-MIB')
<pysnmp.smi.builder.MibBuilder instance at 0x7f56e641c7a0>
>>> node = b.importSymbols('SNMPv2-MIB','sysDescr')
>>> node[0].getName()
(1, 3, 6, 1, 2, 1, 1, 1)
>>> (1, 3, 6, 1, 2, 1, 1, 1)
(1, 3, 6, 1, 2, 1, 1, 1)
>>> print node[0].getDescription()
A textual description of the entity. This value should
include the full name and version identification of
the system's hardware type, software operating-system,
and networking software.
Keine Kommentare:
Kommentar veröffentlichen