Насколько стабильны OID Cisco IOS для запросов данных с SNMP на разных моделях устройств? - PullRequest
1 голос
/ 15 сентября 2008

Я запрашиваю кучу информации с коммутаторов Cisco, используя SNMP. Например, я извлекаю информацию о соседях, обнаруженных с помощью CDP, выполняя snmpwalk на .1.3.6.1.4.1.9.9.23

Можно ли использовать этот OID в разных моделях Cisco? Какие подводные камни я должен знать? Мне немного неловко использовать числовые OID - кажется, что я должен использовать базу данных MIB или что-то в этом роде и использовать именованные OID, чтобы добиться совместимости между устройствами, но, возможно, я просто воображаю необходимость за это.

Ответы [ 6 ]

3 голосов
/ 15 сентября 2008

Как только MIB будет опубликован, он не будет перемещаться в новый OID. Это нарушит инструменты управления сетью и вызовет поддержку, которая никому не нужна. Чтобы продолжить ваш пример, CDP MIB был опубликован в Cisco SNMP Object Navigator.

Для общей чистоты кода было бы хорошо определить OID в центральном месте, особенно если вы не хотите дублировать полный OID для каждой таблицы, к которой вам нужен доступ.

Место, к которому следует быть особенно внимательным, - это уникальный MIB в продукте, который недавно приобрел Cisco. OID изменится, если ничего больше не переместит его в свое собственное пространство OID предприятия, но MIB также может измениться, чтобы соответствовать методам Cisco SNMP.

3 голосов
/ 15 сентября 2008

Это очень соответствует.

Инструменты мониторинга зависят от согласованности, а MIB, создаваемые Cicso, редко меняют старые значения и обычно реализуют только новые.

Проверьте инструмент поиска Cisco OID .

Обратите внимание, что он не спрашивает вас, для какого продукта ищите.

-mw

1 голос
/ 06 июня 2009

OID могут различаться в зависимости от аппаратного обеспечения, но также и от версии микропрограммы для того же оборудования, поскольку со временем архитектура функций управления может изменяться и требовать новых MIB. Стоит проверить, находятся ли какие-либо из OID, которые вы намереваетесь использовать, в устаревших MIB или становятся таковыми в жизни приложения, так как это указывает не только на то, что MIB однажды может не поддерживаться, но и на том, что есть вероятность его улучшения , богаче данные или доступ к данным. Хорошей практикой также является тестирование приложений управления на примере модернизированного устройства в рамках рутинного тестирования обновлений встроенного программного обеспечения перед распространением.

Пример изменения OID из-за того, что MIB устарел:

http://www.cisco.com/en/US/tech/tk648/tk362/technologies_configuration_example09186a0080094aa6.shtml

"Этот документ показывает, как скопировать файл конфигурации в и из Cisco устройство с CISCO-CONFIG-COPY-MIB. Если вы начинаете с программного обеспечения Cisco IOS® выпуск 12.0 или на некоторых устройствах как уже в выпуске 11.2P Cisco реализовал новое средство Simple Протокол управления сетью (SNMP) управление конфигурацией с новым CISCO-CONFIG-COPY-MIB. Это MIB заменяет устаревшую конфигурацию секция СТАРЫЙ-CISCO-СИСТЕМА-МИБ. «

0 голосов
/ 19 сентября 2008

Я думаю, что это распространенное заблуждение (о перезагрузке MIB каждый раз, когда вы определяете имя).

Большинство API-интерфейсов SNMP (таких как AdventNet, CMU) загружают MIBS при запуске, и после этого нет никаких «накладных расходов» на загрузку MIB каждый раз, когда вы запрашиваете «перевод» из имени в oid и наоборот. Более того, некоторые из них кэшируют результаты, и в этот момент нет разницы между поиском по имени и прямым кодированием OID.

Это немного похоже на указание «IP-адреса» вместо «имени хоста».

0 голосов
/ 19 сентября 2008

В некоторых случаях использование имен вместо числовых представлений может стать серьезным ударом по производительности из-за необходимости читать и анализировать файлы MIB для получения числовых представлений OID, необходимых библиотекам более низкого уровня.

Например, скажем, вы используете программу для сбора данных каждую минуту, а затем загружать базы MIB снова и снова очень неэффективно.

Как заявили другие, однажды опубликованные, имя для числового сопоставления никогда не изменится, поэтому тот факт, что вы жестко программируете вещи в своих программах, на самом деле не является проблемой.

Если у вас есть доступ к инструментам SNMP командной строки, посмотрите ' snmptranslate ', чтобы получить хороший инструмент для перехода от текста к числовым идентификаторам OID.

0 голосов
/ 16 сентября 2008
  • Я бы не стал вводить числовые идентификаторы OID, вместо этого использовал бы «имена OID» и оставил бы эту тяжелую работу (перевод) на любой используемый вами SNMP API.

Если это невозможно, то можно использовать OID, поскольку они не должны изменяться в соответствии с рекомендациями SNMP MIB. Если само устройство не изменяется, но для этого требуется новый MIB, который не может повторно использовать старые OID.

  • Это очевидно, но обязательно посмотрите на атрибуты переменной SNMP MIB. Не запрашивайте переменные, которые имеют статус «устарел».

Jay ..

...