Файл mib что это

SNMP MIBs и как их готовить

Доброго времени суток, читатель.

Предыстория

Установка MIBs

Стандартные

MIBs обычно распространяются в виде архива с пачкой файлов. Многие из них, составленные в iana и ietf, повторяются в каждом архиве, но передаются для совместимости.
Для работы в системе по умолчанию (конкретно для Debian) они должны лежать примерно в /usr/share/mibs
Для начала установим стандартные mibs в систему.

В файле конфигурации /etc/snmp/snmp.conf включить нужные. Пример:

mibs :ALL включает все, что не совсем хорошо. Рекомендую для каждого оборудования иметь папку с mib’ами, т.к. они могут отличаться из одной прошивки к другой.

Частный случай

После распаковки структура следующая:

Программное обеспечение

D-View
Net-SNMP

Возвращаюсь к тому, с чего начинал пост:
Мы скачали архив с MIBs и будем использовать утилиту snmptranslate из пакета Net-SNMP. Для удобства складываем все mibs в одну директорию, но это все равно не хватает:

Чтобы долго не мучатся скопируем недостающие файлы из mibs коммутатора des-3200 с опцией не перезаписывать существующие. И здесь мы уже получаем положительный результат:

Теперь, когда трансляция работает, можно вкусить всю прелесть иерархии OIDs. Для этого есть флаги:

Примеры использования

Можно просканировать все mibs и увидеть, что swL2macNotifyInfo есть и на других коммутаторах

Подводные камни D-Link

Здесь мы видим, что иерархия не сложилась до конца.
После исправления становится так:

Если не указать конкретный MIB, то получим ошибки в других mibs

Еще пример

Еще бонус в виде команды snmptable

Итого

В данный момент, я перевожу OID SNMP Traps с коммутаторов в понятный для оператора формат. Это послужит основой для системы регистрации событий на оборудовании. Использовать MIBs в приложении мы не собираемся по причине непереносимости и не универсальности. Думаю подавляющее большинство библиотек используют для трансляции OID системные базы MIBs и конфиг /etc/snmp/snmp.conf (их использует Net-SNMP, а библиотека обращется к последнему), а глобально включать эти модули MIBs мы не хотим. Эти данные можно использовать для экспериментов и добиться более универсального варианта по использованию MIBs, но для меня этого достаточно.

UPD:
Полезные ключи:
-TB ищет в MIBs Object Name по regexp
-On выводит Object ID
Примеры:

Источник

Файл mib что это

MIB файлы для устройств NetPing

Работа с MIB файлами устройств NetPing

Многие системы мониторинга сети и специализированные программные средства (MIB браузеры) могут читать MIB файлы. Например, одним из самых популярных MIB браузеров является « iR easoning MIB browser», на котором будет рассмотрен пример получения данных и управления устройствами NetPing с использованием MIB файла. Скачать бесплатную версию программы можно на официальном сайте разработчика.

После установки ПО «iR easoning MIB browser», его нужно запустить. Загрузить MIB файл необходимой модели устройства NetPing в программу. Для этого в основном горизонтальном меню программы нажать вкладку «File», из выпадающего меню выбрать «Load MIBs» и указать место расположения файла на ПК:

Файл mib что это

После успешной загрузки MIB файла в области программы «SNMP MIBs » отобразиться иерархическая (древовидная) структура со своими SNMP OID (идентификаторы объектов):

Файл mib что это

Чтобы в структуре файла посмотреть конкретные идентификаторы объектов с их описанием, необходимо нажать «+ » в ветке MIB дерева и выбрать интересующий SNMP OID. В примере на скриншоте показан просмотр SNMP OID « npRelayMemo » – идентификатор, в котором храниться памятка реле, задаваемая в настройках web-интерфейса устройства:

Файл mib что это

1 – имя SNMP OID в иерархической (древовидной) структуре MIB файла;
2 – числовой идентификатор объекта (OID) в иерархической (древовидной) структуре MIB файла;
3 – сводная информация и характеристики идентификатора объекта (OID) в иерархической (древовидной) структуре MIB файла. Здесь можно посмотреть текстовое описание, имя, тип, статус и другие параметры.

Теперь для получения информации от датчиков, подключенных к устройствам NetPing, и управления устройствами по SNMP необходимо настроить подключение:

Для этого в иерархической структуре MIB файла выбрать OID «npIoLevelIn» правой кнопкой мыши. В выпадающем контекстном меню нажать метод «Get Next»:

Файл mib что это

Результатом запроса о состоянии IO линии будет являться отображение ответной информации на вкладке «Result Table »:

Файл mib что это

Name/OID – имя SNMP OID, в случае примера « npIoLevelIn.1 » относится к IO1 линии;
Value – текущее значение, в случае примера логический уровень IO1 линии установлен « 1 »;
Type – тип идентификатора объекта, в случае примера «Integer »;
IP:Port – IP и SNMP порт устройства NetPing

Файл mib что это

Если нужно сразу получить текущее состояние всех IO линий в устройстве NetPing, тогда в выпадающем контекстном меню при выборе OID «npIoLevelIn» необходимо выбрать метод «Get Subtree»:

Файл mib что это

В результате текущее состояние всех IO линий будет отображаться на вкладке «Result Table »:

Файл mib что это

Рассмотрим процесс управления встроенным реле устройства NetPing по SNMP.

Для этого в иерархической структуре MIB файла для управления реле выделить OID «npRelayMode». В основном горизонтальном меню программы нажать вкладку «Operations» и выбрать пункт «Set»:

Файл mib что это

В настройках окна «SNMP SET» в поле «OID» дописать в конец имеющегося идентификатора значение, например, «.1 », где 1 – порядковый номер встроенного реле устройства NetPing. Таким образом, задается управление любым реле. В поле «Value» указать числовое значение, которое соответствует определенному состоянию реле (описание числовых значений можно посмотреть в описании самого OID в поле «Desc»). В примере установлено значение «1 », которое соответствует состоянию «Ручное Вкл ». Отправка команды «Set» (то есть запись настроенного значения в OID) осуществляется нажатием кнопки «Ok»:

Файл mib что это

Таким образом, используя различные OID, находящиеся в MIB файлах для устройств NetPing, можно получать информацию и управлять устройствами NetPing по протоколу SNMP.

Источник

Как читать MIB и OID

Содержание

Общая информация

Знание протокола SNMP, предназначенного для управления и наблюдения за устройствами в сети, очень полезно при диагностики здоровья всей системы. С его помощью администратор может автоматизировать сбор статистики с ключевых узлов: коммутаторов, маршрутизаторов, компьютеров и других устройств поддерживающих этот протокол. В этой статье мы рассмотрим на примерах, как понимать и использовать ключевое понятие в SNMP протоколе — базу данных MIB. [1]

Для начала кратко опишем некоторые важные термины протокола SNMP (Simple Network Managment Protocol):

Object Name — имя объекта, уникальная константа для всего MIB, однозначно соответствующая определённому OID.

MIB — это структурированный текстовый файл или несколько файлов, которые содержат информацию о всех объектах устройства. Объектом может быть какая-нибудь настройка или параметры системы. У каждого объекта есть свой набор полей, таких как тип данных, доступность (чтение, запись), статус (обязательный, необязательный), текстовое название настройки. Также объект может содержать другие объекты.

Есть стандартные MIB’ы, определяемые различными RFC и огромное множество MIB’ов от производителей оборудования, которые дополняют стандартные и могут быть взяты с сайтов этих компаний. Эти дополнения необходимы, чтобы описать специфические для устройства параметры. Можно также составить и свои MIB’ы, нигде их не регистрировать и успешно использовать.

Каждый объект в MIB имеет свой уникальный цифровой адрес OID и имя Object Name. SNMP менеджер, используя OID, способен считывать или устанавливать значение объекта. Например, адрес объекта (OID) содержащего наименование системы: 1.3.6.1.2.1.1.5, а его имя (object name): sysName. Так как всё общение между SNMP агентом устройства и SNMP менеджером (системой наблюдения или администратором) происходит через OID, то понимать, что они описывают, очень даже полезно. Имя объекта играет ту же роль в SNMP, что и DNS имя в ip сетях — более наглядное описательное представление набора чисел. Строго говоря в разных MIB’ах оно может представлять разные OID, хотя, те что описаны в RFC, по идее должны быть уникальными для всех.

Как читать OID

Вышеприведённый OID (1.3.6.1.2.1.1.5) для объекта sysName построен целиком на стандартном MIB, и будет существовать скорее всего на всех устройствах. Он читается так:

1isoInternational Organization for Standardization (ISO)
3identified-organizationСхема определения организации согласно ISO/IEC 6523-2
6dodUnited States Department of Defense (DoD). Эта организация изначально занималась стандартизацией протокола
1internetИнтернет
2mgmtIETF Management
1mib-2База OID для спецификации MIB-2
1systemХарактеристики системы
5sysNameИмя системы

OID специфичного объекта для конкретного устройства, дополненный своими MIB’ами, будет значительно длиннее. Вот пример OID датчика температуры у первого вентилятора в Intel Modular Server: 1.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16.1. Первые 7 параметров из стандартных MIB’ов, остальные 10 из MIB’ов Intel. Четыре первых мы уже расшифровали выше, остальные поясняются следующим образом:

4privateЧастные проекты
1enterpriseЧастные организации
343intelЭтот номер закреплён за компанией Intel
2productsПродукты
19modularsystemsСерверы линейки Modular System
1multiFlexServerТип сервера Multi-Flex Server
2componentsКомпоненты
10chassisКонтейнер для информации об аппаратном блоке
206fansВентиляторы
1fanFruTableТаблица вентиляторов
1fanFruEntryИнформация о вентиляторе
16fanFruInletTemperatureТемпература возле вентилятора
1датчик возле первого вентилятора

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

Как читать MIB

При работе с удалённой системой по SNMP протоколу все запросы происходят через OID, отражающий положение объекта в дереве объектов MIB. Все OID системы можно получить просканировав устройство, например командой snmpwalk:

К сожалению, иногда команда не успевает вытащить все переменные, так как на некоторых устройствах их сильно много и защита от DOS атак срабатывает раньше, блокируя доступ на некоторое время. Поэтому данные иногда удобней получать частично, лишь для определённой ветки:

Однако, полученные цифровые значения часто не раскрывают своего предназначения, поэтому, возникает обратная задача: узнать какой OID у интересующего нас объекта. Для этого придётся изучать MIB устройства.

Так, для того чтобы узнать температуру в корпусе Intel Modular Server, возмём MIB описывающего параметры вентиляторов системы и делаем в нём поиск слова temperature, находим объект fanFruInletTemperature и смотрим его описание. Вот нужный нам фрагмент:

Строка в описании объекта fans

говорит о том, что описанный объект будет расширять объект (являться веткой в дереве объектов) chassis, имея в нём индекс 206, а следующий объект fanFruTable в свою очередь будет расширять объект fans, представляя в нём ветку с индексом 1, также fanFruEntry будет первой веткой у объекта fanFruTable. В параметрах fanFruEntry и содержится интересующий нас fanFruInletTemperature.

Запоминаем адрес ветки: 206.1.1, начиная от объекта chassis. Теперь ищем далее в файле описание объекта fanFruInletTemperature:

где мы узнаём, что он содержится в объекте components. Далее сквозной поиск строки «components OBJECT-IDENTITY» (нужно учесть, что пробелов между словами может быть разное количество) даёт строчку:

Далее находим и остальное:

Записывая все полученные ID объектов получаем полный OID для температурных датчиков: 1.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16

Теперь можно узнать их значения, заодно выяснив и их количество:

По приведённому несложному алгоритму можно прочитать любой MIB, главное получить его, что, к сожалению, не всегда возможно.

Для облегчения работы с MIB файлами существует множество программ как платных, так и бесплатных, в том числе и on-line (см. раздел Ссылки). Любой поисковик на запрос MIB browser выдаст много полезных ссылок. Я пользуюсь iReasoning MIB Browser, но не потому, что он лучше других, а просто я попробовал его первым и он мне вполне понравился.

Теперь, зная как читать MIB’ы и OID’ы администратору будет легче использовать и донастраивать системы мониторинга здоровья системы, такие как Zabbix, MRTG, PRTG, Cacti и т.п.

Источник

Файл mib что это

MIB файлы для устройств NetPing

Работа с MIB файлами устройств NetPing

Многие системы мониторинга сети и специализированные программные средства (MIB браузеры) могут читать MIB файлы. Например, одним из самых популярных MIB браузеров является « iR easoning MIB browser», на котором будет рассмотрен пример получения данных и управления устройствами NetPing с использованием MIB файла. Скачать бесплатную версию программы можно на официальном сайте разработчика.

После установки ПО «iR easoning MIB browser», его нужно запустить. Загрузить MIB файл необходимой модели устройства NetPing в программу. Для этого в основном горизонтальном меню программы нажать вкладку «File», из выпадающего меню выбрать «Load MIBs» и указать место расположения файла на ПК:

Файл mib что это

После успешной загрузки MIB файла в области программы «SNMP MIBs » отобразиться иерархическая (древовидная) структура со своими SNMP OID (идентификаторы объектов):

Файл mib что это

Чтобы в структуре файла посмотреть конкретные идентификаторы объектов с их описанием, необходимо нажать «+ » в ветке MIB дерева и выбрать интересующий SNMP OID. В примере на скриншоте показан просмотр SNMP OID « npRelayMemo » – идентификатор, в котором храниться памятка реле, задаваемая в настройках web-интерфейса устройства:

Файл mib что это

1 – имя SNMP OID в иерархической (древовидной) структуре MIB файла;
2 – числовой идентификатор объекта (OID) в иерархической (древовидной) структуре MIB файла;
3 – сводная информация и характеристики идентификатора объекта (OID) в иерархической (древовидной) структуре MIB файла. Здесь можно посмотреть текстовое описание, имя, тип, статус и другие параметры.

Теперь для получения информации от датчиков, подключенных к устройствам NetPing, и управления устройствами по SNMP необходимо настроить подключение:

Для этого в иерархической структуре MIB файла выбрать OID «npIoLevelIn» правой кнопкой мыши. В выпадающем контекстном меню нажать метод «Get Next»:

Файл mib что это

Результатом запроса о состоянии IO линии будет являться отображение ответной информации на вкладке «Result Table »:

Файл mib что это

Name/OID – имя SNMP OID, в случае примера « npIoLevelIn.1 » относится к IO1 линии;
Value – текущее значение, в случае примера логический уровень IO1 линии установлен « 1 »;
Type – тип идентификатора объекта, в случае примера «Integer »;
IP:Port – IP и SNMP порт устройства NetPing

Файл mib что это

Если нужно сразу получить текущее состояние всех IO линий в устройстве NetPing, тогда в выпадающем контекстном меню при выборе OID «npIoLevelIn» необходимо выбрать метод «Get Subtree»:

Файл mib что это

В результате текущее состояние всех IO линий будет отображаться на вкладке «Result Table »:

Файл mib что это

Рассмотрим процесс управления встроенным реле устройства NetPing по SNMP.

Для этого в иерархической структуре MIB файла для управления реле выделить OID «npRelayMode». В основном горизонтальном меню программы нажать вкладку «Operations» и выбрать пункт «Set»:

Файл mib что это

В настройках окна «SNMP SET» в поле «OID» дописать в конец имеющегося идентификатора значение, например, «.1 », где 1 – порядковый номер встроенного реле устройства NetPing. Таким образом, задается управление любым реле. В поле «Value» указать числовое значение, которое соответствует определенному состоянию реле (описание числовых значений можно посмотреть в описании самого OID в поле «Desc»). В примере установлено значение «1 », которое соответствует состоянию «Ручное Вкл ». Отправка команды «Set» (то есть запись настроенного значения в OID) осуществляется нажатием кнопки «Ok»:

Файл mib что это

Таким образом, используя различные OID, находящиеся в MIB файлах для устройств NetPing, можно получать информацию и управлять устройствами NetPing по протоколу SNMP.

Источник

Пытаемся сделать мониторинг по SNMP действительно простым

Уже немало написано о том, что в названии Simple Network Management Protocol слово Simple можно смело писать в кавычках. Протокол SNMP является достаточно простым с точки зрения создания SNMP-агентов, однако на стороне управляющего ПО (SNMP manager) грамотная обработка сложных по структуре данных обычно является нетривиальной задачей.

Файл mib что это

Мы попытались упростить процесс настройки сбора данных и событий SNMP и позволить пользователям во время этого процесса:

Шаг 1: добавляем MIB-файлы

Прежде всего необходимо разобраться с MIB-файлами. Описание логики связей между элементами данных и их синтаксиса было в SNMP реализовано при помощи этих файлов с целью уменьшения нагрузки на сеть и упрощения реализации агентов. Пользователи, однако, далеко не всегда хотят разбираться с их внутреннем устройстве.

Модуль SNMP нашей системы AggreGate Network Manager при старте загружает все MIB-файлы, находящиеся в специальной папке сервера, после чего позволяет добавлять новые при помощи простого диалога:

Файл mib что это

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

Файл mib что это

Файл mib что это

Шаг 2: подключаем SNMP-устройство

В случае построения классической системы мониторинга этот шаг обычно не требуется, так как все устройства добавляются в систему автоматически во время периодического обнаружения устройств (network discovery). Тем не менее, во время добавления обнаруженных сканированием сети устройств выполняются примерно те же шаги:

Файл mib что это

Шаг 3: изучаем снимок устройства

После завершения этапа подключения устройства системе требуется от нескольких секунд до нескольких минут на завершение опроса устройства в рамках выбранных MIB-ов. Когда пиктограмма устройства становится зеленой, можно открывать и изучать так называемый «снимок устройства»:

Файл mib что это

В этом снимке сосредоточена практически вся суть нашего подхода к работе с данными SNMP. Прежде всего, он всегда содержит «под рукой» все реальные данные устройства. При этом все данные считываются только один раз, последующий опрос идет только по важным метрикам. Полное перечитывание снимка устройства производится раз в сутки, для снижения нагрузки на сеть его можно вообще отключить. Снимок устройства опционально сохраняется в БД при перезапуске системы мониторинга.

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

Файл mib что это

Чтобы посмотреть подробное описание любой метрики или таблицы, содержащееся в MIB-файле, достаточно навести мышкой на описание или значение метрики. Во всплывающей подсказке также виден тип данных SNMP и полный OID:

Файл mib что это

Если метрика может принимать одно из нескольких числовых значений, описанных в MIB-файле текстовыми константами, в снимке устройства сразу показывается соответствующая текущему значению константа. Полный список констант и их числовых значений доступен через контекстное меню:

Файл mib что это

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

Файл mib что это

Но наибольшую пользу наш метод работы с данными SNMP приносит при обработке таблиц. Каждая SNMP-таблица показывается в снимке устройств как отдельная метрика табличного типа:

Файл mib что это

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

При наведении на заголовок столбца во всплывающей подсказке видно описание поля, полученное из MIB-файла, а также его тип и OID:

Файл mib что это

Если имеется несколько связанных друг с другом таблиц, например использующих внешние индексы или расширение (augmentation), система автоматически обрабатывает все внутренние связи и сводит данные связанных таблиц в одно целое. В большинстве случаев пользователи даже не подозревают о существовании таких сложностей. Вот, например, как выглядит таблица hrSWRunPerfTable:

Файл mib что это

На уровне MIB файла эта таблица представляет из себя два столбца (hrSWRunPerfCPU и hrSWRunPerfMem), расширяющие таблицу hrSWRunTable. В снимке устройства эти таблицы уже объединены, что облегчает анализ данных, построение отчетности и диаграмм, настройку хранения и т.д.

Поскольку единая модель данных платформы AggreGate ориентирована на работу с таблицами, таблицы данных SNMP являются идеальным кандидатом на обработку встроенными средствами. При помощи них реализуется построение топологии L2/L3, анализ данных MPLS TE и MPLS VPN, мониторинг и создание тестов IP SLA, а также сотни более простых задач.

Шаг 4: настраиваем периоды опроса и сроки хранения

AggreGate Network Manager является одновременно платформой и коробочным продуктом, поэтому в большинстве случаев после автоматического или ручного добавления устройства периоды опроса и сроки хранения метрик уже преднастроены для всех метрик и таблиц, которые система «понимает», т.е. показывает на инструментальных панелях и анализирует на предмет необходимости генерации тревожных сообщений.

Откорректировать настройки опроса (синхронизации) и хранения метрики можно через ее контекстное меню, либо через настройки аккаунта (для всех метрик сразу).

Файл mib что это

В диалоге настроек хранения показывается только срок хранения «сырых» данных в обычной базе данных (реляционной или NoSQL, в зависимости от настроек сервера). В большинстве случаев данные SNMP хранятся в кольцевой базе данных (Round-Robin Database, RRD), которая встроена в платформу AggreGate. На тему создания каналов статистики, которые перекладывают метрики и части таблиц в кольцевую БД, будет отдельная статья.

Шаг 5: переходим к обработке и визуализации данных

Когда данные собираются и сохраняются в БД сервера, можно приступать к их использованию для дела, то есть для мониторинга и управления ИТ инфраструктурой. Контекстное меню любой метрики в снимке устройства предоставляет доступ к визардам, позволяющим начать настройку тревог, отчетов, графиков, запросов, инструментальных панелей, и других средств анализа и визуализации.

Файл mib что это

При помощи этих средств настраивается влияние метрик и таблиц на общесистемные операции поиска причин отказов, анализа производительности, планирования и инвентаризации, управления конфигурациями, и других функций системы. Попутно «рисуются» различные интерфейсы:

Файл mib что это

В результате

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

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

Безусловно, нам еще есть над чем поработать. Требуется улучшение механизмов выбора индивидуальных метрик, чтобы избежать даже единократного опроса целых MIBов. Есть необходимость исключения из опроса индивидуальных строк и столбцов SNMP-таблиц. Нам интересно было бы услышать и о других недостатках процесса настройки SNMP-мониторинга в нашей системе.

А поподробнее?

Эта статья вообще не касается получения, обработки и отправки ловушек SNMP, работы по SNMP v3, и многих других аспектов.

Для более подробного рассказа мы приглашаем всех хабражителей на вебинар Мониторинг и управление по SNMP, который состоится 26 мая 2015 года в 11:00 по московскому времени. На этом вебинаре мы «вживую» продемонстрируем весь вышеописанный процесс, а также многие другие способы мониторинга сетевого, серверного и нестандартного оборудования при помощи SNMP.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *