2015-01-12 3 views
0

Добрый день,pysnmp mib2dev.py неудачу

Я пытаюсь создать тренажер для snmpsim с помощью mib2dev.py инструмента в pysnmp. Я продолжаю получать ValueError: Empty module name и не знаю, почему. Я гарантировал, что у меня есть последняя pysnmp, pycrypt и snmpsim. Я бегу на Mac.

Необходимые пакеты были установлены с easy_install. Я использую пиво на пиво 2.7.8. Я удалил все пакеты и python, а затем переустановил их. Это не помогло.

Я просмотрел этот stack overflow question, но они получают другую ошибку.

Эта MIB взята из here. Я не могу показать свою фактическую mib, но он производит ту же ошибку, что и эта маленькая mib.

У меня нет проблем с кодированием агента. В это время я могу найти примеры только скалярных или только табличных агентов. Если вы знаете какие-то хорошие ресурсы с примерами для создания агента с pysnmp, это было бы потрясающе.

MIB:

MY-MIB DEFINITIONS ::= BEGIN 

IMPORTS 
     OBJECT-TYPE, Integer32, NOTIFICATION-TYPE, enterprises 
        FROM SNMPv2-SMI 
; 

myCompany  OBJECT IDENTIFIER ::= {enterprises 42} 

testCount OBJECT-TYPE 
    SYNTAX Integer32 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION "A sample count of something." 
    ::= {myCompany 1} 

testDescription OBJECT-TYPE 
    SYNTAX OCTET STRING 
    MAX-ACCESS read-only 
    STATUS current 
    DESCRIPTION "A description of something" 
    ::= {myCompany 2} 

testTrap NOTIFICATION-TYPE 
    STATUS current 
    DESCRIPTION "Test notification" 
    ::= {myCompany 3} 

END 

.py скрипт с наращиванием pysnmp-МИБ:

$ mib2dev.py --pysnmp-mib-dir="." --mib-module=MY-MIB.py 
Traceback (most recent call last): 
    File "/usr/local/bin/mib2dev.py", line 4, in <module> 
    __import__('pkg_resources').run_script('snmpsim==0.2.4', 'mib2dev.py') 
    File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources/__init__.py", line 696, in run_script 

    File "build/bdist.macosx-10.10-x86_64/egg/pkg_resources/__init__.py", line 1614, in run_script 

    File "/usr/local/lib/python2.7/site-packages/snmpsim-0.2.4-py2.7.egg/EGG-INFO/scripts/mib2dev.py", line 240, in <module> 
    [ builder.ZipMibSource(m).init() for m in mibDirs ] 
    File "/Library/Python/2.7/site-packages/pysnmp-4.2.5-py2.7.egg/pysnmp/smi/builder.py", line 45, in init 

    File "/Library/Python/2.7/site-packages/pysnmp-4.2.5-py2.7.egg/pysnmp/smi/builder.py", line 103, in _init 

ValueError: Empty module name 

ответ

0

ОБНОВЛЕНО: Как smilint и pysnmp предполагают, что вам нужно добавить пункт Modile-IDENTITY к исходному MIB файл, как это:

IMPORTS 
    MODULE-IDENTITY, OBJECT-TYPE, Integer32, NOTIFICATION-TYPE, enterprises 
       FROM SNMPv2-SMI 
; 

my-MIB MODULE-IDENTITY 
    LAST-UPDATED "201501120000Z" 
    ORGANIZATION "X" 
    CONTACT-INFO "X" 
    DESCRIPTION "X" 
    REVISION  "201501120000Z" 
    DESCRIPTION "X" 
    ::= { enterprises 42 } 

myCompany  OBJECT IDENTIFIER ::= { my-MIB 123 } 
... 

в общем, чтобы устранить такие проблемы, я бы запустить smilint, чтобы увидеть, если Origina l MIB хорош, и настройка libsmi работает нормально. Затем попробуйте запустить:

smidump -f python MY-MIB.txt 

, чтобы увидеть, что является результатом smidump вызова, который подается в libsmi2pysnmp (также вызывается путем наращивания pysnmp-МИБ).

Когда все работает, build-pysnmp-mib вызывает smidump, который создает код Python и передает его скрипту libsmi2pysnmp. Последний генерирует pysnmp-совместимый код (например, MY-MIB.py).

Мне кажется, что шаг smidump является самым хрупким: он легко выходит из строя на недоступных MIB, упомянутых в операциях IMPORT или синтаксических ошибках/несовместимости в MIB.

+0

Благодарим вас за ответ. Размер MY -MIB.py составляет 1834 по «ls -l MY-MIB.py' Я сам попытался использовать smidump и получил следующее: \t' $ smidump -f python ./MY-MIB '' \t ./MY-MIB:29: отсутствует пункт мОДУЛЬ-IDENTITY в SMIv2 MIB' \t 'smidump: модуле' ./MY-MIB»содержит ошибки, ожидать недостатки output' \t' smidump: прерывание из-за тяжелые ошибки разбора \t 'smidump: используйте параметр -k для продолжения продолжения' – houckrj

 Смежные вопросы

  • Нет связанных вопросов^_^