Элегантный и портативный способ обработки таблиц SNMP в Python

Я много искал для этого, но пока не нашел ничего, что бы соответствовало моим потребностям. Я хочу элегантный способ работы с таблицами SNMP в Python. Я посмотрел на привязки Python Pysnmp и Net-SNMP.

На данный момент я работаю с привязками net-snmp, так как кажется, что с ними проще запрашивать данные, и они уже легко доступны в CentOS6, где придется запускать программное обеспечение (Python 2.6), но я также не против установки pysnmp.,

То, что мне нужно, - это любой объект, который я могу передать своим важным данным о структуре моей таблицы, таким как OID базы таблицы, OID индекса и имена и oids интересующих меня столбцов. Я хотел бы вернуть структуру данных это позволяет очень легко перебирать строки, извлекать списки записей любого из столбцов и т. д., и все это без необходимости использовать OID и прочее, действительно абстрагируя все это.

Цель этого состоит в том, чтобы я хотел использовать как можно меньше кода для запроса всех данных из таблицы SNMP и работать с ним, я хотел бы иметь весь код базовой платы в модуле, чтобы я мог получать и работать с данными Таблица SNMP всего за несколько строк кода.

Что бы вы предложили мне сделать? Написание собственной абстракции на основе pysnmp или netsnmp? Есть ли что-то в API высокого уровня pysnmp, что я мог пропустить? Может быть, модуль Python, который абстрагирует один из вышеупомянутых, чтобы облегчить доступ к данным?

Был бы очень рад услышать ваши советы.

1 ответ

Говоря о pysnmp, есть два компонента, которые могут вас заинтересовать:

  • Классы ObjectType/ObjectIdentity, представляющие объект MIB и обрабатывающие OID<->символ<->индексы и типы значений, имеют значение
  • API высокого уровня, работающий над экземплярами ObjectType

Помимо этих двух компонентов вы можете читать/ изменять объекты MIB, ссылаясь на них по их именам MIB и символическим индексам, например, ничего не зная об задействованных OID. Класс ObjectType преобразует значения между их удобным для человека представлением и базовыми типами SNMP.

Библиотека pysnmp будет работать на Python 2.6.

Другие вопросы по тегам