Як читати mib і oid, записи про все

Як читати mib і oid, записи про все

Загальна інформація

Знання протоколу SNMP. призначеного для управління і спостереження за пристроями в мережі, дуже корисно при діагностики здоров'я всієї системи. З його допомогою адміністратор може автоматизувати збір статистики з ключових вузлів: комутаторів, маршрутизаторів, комп'ютерів та інших пристроїв підтримують цей протокол. У цій статті ми розглянемо на прикладах, як розуміти і використовувати ключове поняття в SNMP протоколі - базу даних MIB.
Для початку коротко опишемо деякі важливі терміни протоколу SNMP (Simple Network Managment Protocol):

MIB - Managment Information Base - база даних інформацією управління, що зберігає інформацію про всі об'єкти (параметрах і настройках) пристрої.

OID - Object IDentificator - числовий ідентифікатор об'єкта в дереві MIB.

Object Name - ім'я об'єкта, унікальна константа для всього MIB, однозначно відповідна певному OID.
MIB - це структурований текстовий файл або декілька файлів, які містять інформацію про всі об'єкти пристрої. Об'єктом може бути якась настройка або параметри системи. У кожного об'єкта є свій набір полів, таких як тип даних, доступність (читання, запис), статус (обов'язковий, необов'язковий), текстове назва настройки. Також об'єкт може містити інші об'єкти.

Є стандартні MIB'и, що визначаються різними RFC і безліч MIB'ов від виробників обладнання, які доповнюють стандартні і можуть бути взяті з сайтів цих компаній. Ці доповнення необхідні, щоб описати специфічні для пристрою параметри. Можна також скласти і свої MIB'и, ніде їх не реєструвати і успішно використовувати.

Вищенаведений OID (1.3.6.1.2.1.1.5) для об'єкта sysName побудований цілком на стандартному 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.

де ми дізнаємося, що він міститься в об'єкті components. Далі наскрізний пошук рядка «components OBJECT-IDENTITY» (потрібно врахувати, що пробілів між словами може бути різна кількість) дає рядок:

Далі знаходимо і інше:

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

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

snmpwalk -v 2c -c public 10.0.0.1 1.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16

iso.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16.1 = INTEGER: 27

iso.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16.2 = INTEGER: 26

iso.3.6.1.4.1.343.2.19.1.2.10.206.1.1.16.3 = INTEGER: 19


За наведеним нескладному алгоритму можна прочитати будь-який MIB, головне отримати його, що, на жаль, не завжди можливо.

Для полегшення роботи з MIB файлами існує безліч програм як платних, так і безкоштовних, в тому числі і online. Будь-пошуковик на запит MIB browser видасть багато корисних посилань. Я користуюся NuDesign Visual MIBuilder.

Схожі статті