Что такое mib browser
SNMP MIB браузер (продолжение)
MIB браузер как раз и является тем инструментом, который позволит Вам упростить работу с оборудованием. Это фактически тоже самое, что иметь иерархическую структуру в базе данных с быстрым и удобным поиском, индексами, типами данных. Вы получаете быстрый доступ ко всем датчикам и триггерам оборудования, с возможностью их создания/правки. Тем самым становится проще администрировать сети, выявлять ошибки и быстрее реагировать на неисправности. Особенно это важно при работе с новыми моделям, ранее неизвестными Вам.
Как-то так. В первой части мы подготовили данные для формирования дерева с помощью jsTree. Загрузим данные(имеющим тонкую душевную организацию, лучше отойти от экранов):
Картинка под спойлером:
Ах да, всё это рисуется на каркасе AdminLTE, в теме по-умолчанию, отсюда такие цвета и иконки. На кнопочку «Модули» не обращаем внимания, у Вас её не будет.
Что дальше. Давайте для начала вспомним, как у нас будет выглядеть mib браузер:
это 2 функциональных и один информационный блок:
Непосредственно само дерево, с которым мы будем работать.
Блок данных, возвращаемый устройством. В зависимости от типа данных, можно производить какие-либо манипуляции.
Здесь будет подробная информация о выбранных идентификаторах.
Дерево у нас уже есть. Нарисуем информационный блок:
Заглянул в свой код, который отрисовывает 2-й блок, и ужаснулся. У меня там и walk, и get, и gettable, и snmpset. Без поллитры и сам пожалуй не разберусь, поэтому попробую упростить:
В библиотеке jsTree мы подключили плагин ‘contextmenu’. С его помощью мы будем опрашивать наше оборудование. Еще немного JS:
Объяснение SNMP MIB и OID
SNMP имеет несколько компонентов под поверхностью, которые позволяют передавать информацию о производительности обратно конечному пользователю. Агенты SNMP, SNMP менеджеры, MIBS, и OIDs все работают вместе, чтобы сделать эти переводы возможными. В этой статье мы рассмотрим, что такое MIBS и OID, и что они делают. Однако, прежде чем мы это сделаем, мы должны посмотреть, что такое SNMP.
Что такое SNMP?
SNMP или Простой протокол управления сетью это хорошо известный сетевой протокол, который находится на уровне приложений. Протокол SNMP восходит к 1989 году и был создан для того, чтобы устройства могли обмениваться информацией друг с другом по сети. Сегодня SNMP используется для мониторинга устройств с поддержкой SNMP и посмотреть, как их производительность задерживается. Архитектура SNMP состоит из менеджеров SNMP и агентов SNMP.
Отношения между менеджером SNMP и агентом SNMP основаны на сообщениях и командах. Эти сообщения бывают разных форм. Некоторые из сообщений, которыми обмениваются эти два компонента, перечислены ниже:
Смотрите также: SNMP объяснил
Что такое MIB?
MIB или База управленческой информации представляет собой отформатированный текстовый файл, который находится в диспетчере SNMP и предназначен для сбора информации и ее упорядочения в иерархическом формате. Менеджер SNMP использует информацию из MIB для перевода и интерпретации сообщений перед их отправкой конечному пользователю..
Что такое OID?
Внутри MIB есть много различных управляемых объектов, которые могут быть идентифицированы OID или Идентификатор объекта. OID это адрес, который используется для различения устройств в иерархии MIB. OID используется для ссылки на уникальные характеристики и навигации по переменным на подключенном устройстве. Значение этих идентификаторов варьируется от текста к числам и счетчикам. Существует два основных типа управляемых объектов:
Они часто изображаются в виде дерева. OID форматируется в виде строки чисел, как показано ниже:
1.3.6.1.4.868.2.4.1.2.1.1.1.3.3562.3
Каждый из этих номеров предоставляет вам соответствующую информацию. Например:
OID почти всегда начинаются с одинаковой последовательности чисел; 1.3.6.1.4.1. Мы рассмотрим, что означают эти цифры, более подробно ниже:
В большинстве случаев OID будут предоставляться поставщиком, у которого вы приобрели устройство.
SNMP получает запросы и ловушки SNMP
В случае прерываний SNMP агент SNMP автоматически уведомляет диспетчер SNMP о значительном событии на устройстве. Ловушки важны, потому что они отправляются менеджеру SNMP без опроса. Следовательно, ловушки помогают держать пользователя в курсе изменений внутри устройства..
Без SNMP-ловушек устройства могут передавать данные только при опросе. Ловушки SNMP также используют MIB. Эти MIB имеют свои собственные условия оповещения, которые находятся внутри устройства. Системе мониторинга SNMP необходимо настроить эти MIB, иначе они не смогут получить доступ к прерываниям, отправленным устройством..
Как использовать MIB и OID
Как мы уже говорили выше, каждое сетевое устройство с поддержкой SNMP будет иметь свою собственную таблицу MIB со многими различными OID. В большинстве MIB так много OID, что было бы практически невозможно записать всю информацию. Вместо того, чтобы делать это вручную, вы должны использовать инструмент мониторинга сети, такой как Монитор производительности сети SolarWinds или Paessler PRTG Сетевой монитор.
Монитор производительности сети SolarWindsСкачать 30-дневную бесплатную пробную версию
Сетевой монитор Paessler PRTGСкачать 30-дневную бесплатную пробную версию
Инструменты мониторинга SNMP предназначены для сбора данных из MIB и OID для представления в удобном для понимания формате. Запросы на получение и прерывания SNMP предоставляют сетевым мониторам необработанные данные о производительности, которые затем преобразуются в графические дисплеи, диаграммы и графики. Таким образом, MIB и OID позволяют вам контролировать несколько устройств с поддержкой SNMP из одного централизованного местоположения..
MIB и написание собственных MIB
Одна из интересных вещей о MIB заключается в том, что Вы можете создавать свои собственные MIB. Когда вы покупаете новое устройство, вы не ограничены использованием MIB, которые поставляются из коробки. Тем не менее, чтобы создать свой собственный MIB вам нужно знать, какие объекты вы хотите включить в него. Вы можете записать это в виде списка. После того, как вы написали список объектов, вам нужно определить место MIB в более широкой иерархии OID..
MIB и OID: винтики в машине
Хотя предпосылка SNMP относительно проста, архитектура временами может быть обманчиво сложной. Важно помнить, что отношения SNMP Manager и SNMP Agent гарантируют, что пользователь может контролировать несколько устройств из одного места..
При загрузке инструмента сетевого мониторинга агенты SNMP отправляют данные со всей сети. Информация, которую вы видите на экране, подается из прерываний SNMP и запросов Get. Вы можете просматривать эти данные в форме графиков и диаграмм, но эти данные фактически записываются в MIB и идентифицируются с помощью OID..
Данные в MIB идентифицируются с помощью OID, поэтому сетевые мониторы могут получать точную информацию, которая им нужна. Без ID получить запросы было бы невозможно, потому что инструмент мониторинга не смог бы найти переменные в MIB. MIB и OID являются неотъемлемой частью архитектуры SNMP. Эти два компонента жизненно важны для того, чтобы вы могли контролировать сетевую инфраструктуру и выполнять диагностику.
Смотрите также: Руководство по UDP (протокол дейтаграмм пользователя)
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 файлы для устройств NetPing
Работа с MIB файлами устройств NetPing
Многие системы мониторинга сети и специализированные программные средства (MIB браузеры) могут читать MIB файлы. Например, одним из самых популярных MIB браузеров является « iR easoning MIB browser», на котором будет рассмотрен пример получения данных и управления устройствами NetPing с использованием MIB файла. Скачать бесплатную версию программы можно на официальном сайте разработчика.
После установки ПО «iR easoning MIB browser», его нужно запустить. Загрузить MIB файл необходимой модели устройства NetPing в программу. Для этого в основном горизонтальном меню программы нажать вкладку «File», из выпадающего меню выбрать «Load MIBs» и указать место расположения файла на ПК:
После успешной загрузки MIB файла в области программы «SNMP MIBs » отобразиться иерархическая (древовидная) структура со своими SNMP OID (идентификаторы объектов):
Чтобы в структуре файла посмотреть конкретные идентификаторы объектов с их описанием, необходимо нажать «+ » в ветке MIB дерева и выбрать интересующий SNMP OID. В примере на скриншоте показан просмотр SNMP OID « npRelayMemo » – идентификатор, в котором храниться памятка реле, задаваемая в настройках web-интерфейса устройства:
1 – имя SNMP OID в иерархической (древовидной) структуре MIB файла;
2 – числовой идентификатор объекта (OID) в иерархической (древовидной) структуре MIB файла;
3 – сводная информация и характеристики идентификатора объекта (OID) в иерархической (древовидной) структуре MIB файла. Здесь можно посмотреть текстовое описание, имя, тип, статус и другие параметры.
Теперь для получения информации от датчиков, подключенных к устройствам NetPing, и управления устройствами по SNMP необходимо настроить подключение:
Для этого в иерархической структуре MIB файла выбрать OID «npIoLevelIn» правой кнопкой мыши. В выпадающем контекстном меню нажать метод «Get Next»:
Результатом запроса о состоянии IO линии будет являться отображение ответной информации на вкладке «Result Table »:
Name/OID – имя SNMP OID, в случае примера « npIoLevelIn.1 » относится к IO1 линии;
Value – текущее значение, в случае примера логический уровень IO1 линии установлен « 1 »;
Type – тип идентификатора объекта, в случае примера «Integer »;
IP:Port – IP и SNMP порт устройства NetPing
Если нужно сразу получить текущее состояние всех IO линий в устройстве NetPing, тогда в выпадающем контекстном меню при выборе OID «npIoLevelIn» необходимо выбрать метод «Get Subtree»:
В результате текущее состояние всех IO линий будет отображаться на вкладке «Result Table »:
Рассмотрим процесс управления встроенным реле устройства NetPing по SNMP.
Для этого в иерархической структуре MIB файла для управления реле выделить OID «npRelayMode». В основном горизонтальном меню программы нажать вкладку «Operations» и выбрать пункт «Set»:
В настройках окна «SNMP SET» в поле «OID» дописать в конец имеющегося идентификатора значение, например, «.1 », где 1 – порядковый номер встроенного реле устройства NetPing. Таким образом, задается управление любым реле. В поле «Value» указать числовое значение, которое соответствует определенному состоянию реле (описание числовых значений можно посмотреть в описании самого OID в поле «Desc»). В примере установлено значение «1 », которое соответствует состоянию «Ручное Вкл ». Отправка команды «Set» (то есть запись настроенного значения в OID) осуществляется нажатием кнопки «Ok»:
Таким образом, используя различные OID, находящиеся в MIB файлах для устройств NetPing, можно получать информацию и управлять устройствами NetPing по протоколу SNMP.
MIB Browser Version 14 User Guide
The iReasoning MIB browser is a powerful and easy-to-use tool powered by iReasoning SNMP API. MIB browser is an indispensable tool for engineers to manage SNMP enabled network devices and applications. The iReasoning MIB browser allows users to load standard, proprietary MIBs, and even some mal-formed MIBs. It also allows them to issue SNMP requests to retrieve SNMP agents’ data, or make changes to agents. A built-in trap receiver can receive and process SNMP traps according to its rule engine.
Major features:
Requirements
Download and Run MIB Browser
1. Download MIB browser installer or zip file. On Windows, run setup.exe to install MIB browser. On macOS, Linux and other UNIX platforms, unzip it to the desired directory.
If trap receiver is bound to a port under 1024, open a terminal and run
On earlier versions of macOS, download and unzip mibbrowser.zip, and enter ireasoning/mibbrowser directory and run browser.sh to start MIB browser.
On Linux/UNIX, if you login as a non-root user and need to run trap receiver at port 162 (or any port under 1024), start MIB browser using the following command:
Enterprise Edition
Trap receiver and watches functions run as a system service. Watches function supports action, which means you can configure actions (sending emails or traps) when a MIB object’s value violates a pre-configured threshold.
On Windows platform, the service starts up automatically. On Linux/macOS, you need to configure system to execute $INSTALL_DIR/lib/runserver.sh on startup.
The Browser GUI
Load MIB
Launch a file dialog for picking one or multiple MIB files. You need to hold CTRL key if you want to select multiple files.
MIB Modules
List properties of all loaded MIB modules.
Server Address (Enterprise Edition Only)
By default, MIB browser connects to a local server to get trap and watches data. However, you can change the server address so that it can get the data from somewhere else.
Open Session
Open a previously saved session file.
Open Graph Data
Open a previously saved graph data file.
Save Session
Save current settings of open tabs to a session file, which can be opened later to restore tabs.
Exit
Find in MIB Tree
Find a node in the MIB tree.
Find in Result Table
Find a string in the result table.
Get
Issue SNMP GET request against current agent.
Get Next
Issue SNMP GET-NEXT request against current agent.
Get Bulk
Issue SNMPv2c or SNMPv3 GET-BULK request against current agent. If the SNMP agent only supports SNMPv1, then this command will time out.
Set
Issue SNMP SET request against current agent.
The following window will show up:
Enter a new value in the «Value» field then click «Ok» button.
To set multiple variables, you can hold CTRL key and select multiple rows in the result pane, then choose SET operation.
1. For BITS data type, you need to use mathematical notation for a set of integers, that is, something like .
2. The format for hexadecimal string is (0x[0-9A-Fa-f][0-9A-Fa-f] )+. For instance, 0x12 0xA1 0x30, or 0x12A130
Get Subtree
Issue SNMP GET-NEXT requests to get the whole subtree against current agent.
Walk
Do SNMP walk against current agent.
Table View
Show MIB table data.
Clicking on this menu item will bring up a new table view window. But first, OID field needs to be an OID of a table or entry nodes. For example, it can be ifTable, ifEntry etc.
You can press CTRL key and select multiple tabular variables of the same table, then click «Table View». In this way, table view only shows the tabular variables you selected rather than the whole table.
Buttons on the toolbar of table view window:
Rotate table 90 degrees.
Export table data to a CSV file.
Refresh table periodically.
Perform SNMP SET for selected table cells.
Dynamically create a row. The table must support dynamic row creation, that is, it has a RowStatus or EntryStatus column.
Dynamically delete the selected row. The table must support dynamic row creation, that is, it has a RowStatus or EntryStatus column.
Graph
Plot graph for selected OID. If there is already one graph tab, you will be asked to re-use this tab or open a new tab.
Clicking on this menu item will bring up performance graph window. But first, OID field needs to be a numerical OID value or a table column node whose instances are numerical values. For example, it can be sysUpTime, ifOutOctets, and ifOutOctets.1, etc.
Buttons on the toolbar:
Export to CSV file
Export chart data to a CSV file.
Import from CSV file
Import data from a CSV file.
Save chart data to a PNG format file.
Print out the chart.
Restart plotting chart.
Pause plotting chart.
Switch between current view and global view.
Display trace lines.
Display grid lines.
Display delta instead of raw values.
The polling interval can be changed by clicking the «Set» button.
Trap Sender
Open trap sender window:
This window allows user to send out SNMPv1/v2c traps or informs.
Trap settings can be bookmarked, so that you do not have to enter them again next time.
For SNMPv1/v2 trap nodes in the MIB tree, you can right click on them and select «Send Trap» context menu to bring up this window, and the information from the trap node will be used to fill out the default values.
Watches
Displays a table of variables being watched.