Zabbix, подключаем любую железку имеющую MIB

    Началось строительство FTTB и появилось новое оборудование производителя Edge-core. Естественно захотелось прикрутить новое железо к Zabbix. Ранее я поступал просто — натравливал snmpwalk на железку и анализировал полученные данные. Этот путь достаточно долгий, так как полученный результат бывает под несколько мегабайт текста и достаточно тяжело найти нужные значения. Но есть другой способ — использовать MIB устройства. Но ведь Zabbix не умеет работать напрямую с MIB файлами. Что же делать?
    На форуме забикса нашел замечательную утилиту SNMP Builder for Zabbix. С её помощью можно сделать базовый шаблон устройства имея его MIB и потом ручками его допилить до нормального состояния.
    Я вам расскажу как это сделать на примере оборудования Edge-core.



    Установка утилиты


    Скачать её можно с блога разработчика этой утилиты или напрямую тут. В блоге есть краткая инструкция по её установке и использованию. Но я кратко её повторю.
    1. Скачиваем архив. В архиве находиться каталог и один файл snmp_builder.php.
    2. Распаковываем архив в директорию с фронтэндом.
    3. Открываем snmp_builder.php и при необходимости корректируем пути до места расположения mib файлов.
    define('MIBS_ALL_PATH', '/home/zabbix/public_html/snmp_builder/mibs:/usr/share/snmp/mibs');

    4. Добавляем в меню «Администрирование» фронтэнда пункт меню Snmp Builder.
    Для этого открываем include/menu.inc.php и в районе 203 строки (в моей версии это была не 203 строка) изменяем код на такой
                   'label'=>S_NOTIFICATIONS
              ),
            array('url'=>'locales.php',
                'label'=>S_LOCALES
              ),
            array('url'=>'snmp_builder.php',
                'label'=>'SNMP Builder'
              ),
            array('url'=>'instal.php',
                'label'=>S_INSTALLATION,
                'sub_pages'=>array('setup.php','warning.php')
              )
            )


    * This source code was highlighted with Source Code Highlighter.


    Создание шаблона



    Первым делом ищем MIB железа. Производитель, в отличии от сименса, свои мибы не скрывал. Я их свободно скачал с официального сайта www.edge-core.ru.
    Далее скачанный миб помещаем в любую из директорий обозначенных в пункте 3.
    Открываем в меню Администрирование/Snmp Builder.
    Увидим подобную картину:



    В списке Template выбираем тот шаблон в который будем добавлять новые итемы. Я заранее создал новый пустой шаблон. В списке MIB выбираем mib нашего устройства, в поле Server вводим ip устройства, в поле Community вводим snmp community string устройства. Если все правильно то получим выше обозначенную картину. Может возникнуть ситуация когда встроенных мибов не хватает

    .Cannot find module (CISCO-SMI): At line 21 in /home/zabbix/public_html/snmp_builder/mibs/CISCO-IP-IF-MIB mib Cannot find module (CISCO-SMI): At line 21 in /home/zabbix/public_html/snmp_builder/mibs/CISCO-IP-IF-MIB.mib

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

    В некоторых случая (в моем тоже) необходимо скорректировать код snmp_builder.php начиная со строки 315
      foreach(glob($path."/*.mib"as $filename){
       if (preg_match('/^'.preg_quote($path,'/').'\/(.+)\.mib$/',$filename,$matches)){
        $result=exec("cat ".$filename."| grep -i 'DEFINITIONS.*::=.*BEGIN'|awk '{print $1}'");
        $cmbMibs->addItem($result,$result);
       }
      } 


    * This source code was highlighted with Source Code Highlighter.


    Если все выше описанное помогло то вы увидите дерево OID


    В этом дереве выбираете нужную таблицу и она отобразится в верхней части. В этой таблице достаточно выбрать нужные параметры нажатием на либо на поле, либо на заголовке столбца для выбора всех параметров данного столбца. Выбранные элементы и их параметры отобразятся в нижней части экрана. Удалять их можно либо по одному нажатием на строку с параметром либо всё сразу нажав Clear List. Если добавленные элементы вас устраивают то нажимаем кнопку Save. После нажатия элементы из нижней таблицы добавятся как новые item к существующему выбранному шаблону.

    Повторяем эту операцию до тех пор пока все нужные элементы не будут выбраны.

    Мной для выбранного коммутатора были добавлены счетчики интерфейсов их описания и их состояние. Так же было добавлено состояние протокола STP (состояние интерфейса, номер порта root, вес устройства и количество изменений топологии) и т.д.

    После добавления всех нужных нам итемов очень было бы неплохо их отредактировать. По умолчанию интервал опроса всех элементов 60 секунд, что явно излишне. Для не критичных данных, например имя хоста, версия прошивки, alias интерфейсов можно установить интервал 84600 секунд (24 часа).
    С счетчиками ситуация чуть сложнее: приемлемый интервал опроса для интерфейсов, на мой взгляд, 300 секунд и необходимо изменить формат хранения «на дельта в секунду».

    Со значением «StpPortState» необходимо сделать еще и преобразование значений в понятный человеку вид.
    Для начала настроим преобразование цифровых значений в текстовые в меню Администрирование/Общие Параметры/Преобразование значений пары код-значение дергаем из MIB


    В настройке итема выбираем так


    К шаблону, как минимум, необходимо добавить простую проверку ping


    На эту проверку нужно повесить триггер который сработает в том случае если железка не будет доступна более 90 секунд.


    Можно нарисовать графики загрузки интерфейсов по счетчикам IfOctets OutOctets


    Следующие триггеры и графики делаются по аналогии.
    Я к примеру добавил триггеры срабатывающие при загрузки интерфейса более чем на 80%, при изменении роли интерфейса в STP, при низком времени работы.

    Надеюсь что данная информация поможет Вам добавить любое железо имеющее MIB к системе мониторинга Zabbix.

    PS: Это продолжение моих статей по zabbix: статья 3, статья 2, статья 1

    Share post
    AdBlock has stolen the banner, but banners are not teeth — they will be back

    More
    Ads

    Comments 15

      +1
      Спасибо!
        +1
        Если интересно могу продолжить рассказывать про Zabbix. Или сделать репортаж о строительстве FTTB.
          +1
          про строительство fttb было бы интересно!
        0
        Продолжайте про заббикс, спасибо.
          0
          У кого заработала эта штука? Можете помочь? Всё сделал, выбираю девайс, MIB файл, и тишина. Никакого дерева OID. Даже не знаю, проблема в Zabbix или в MIB файлах…
            0
            Нужно как минимум версию zabbix и версию SNMP Builder
              0
              Извиняйте, Zabbix 1.8.3 Билдер 1.8.1 (качал с github.com/giapnguyen/snmpbuilder)
                0
                1. На snmpwalk железка откликается?
                2. Правильные ли пути к mib файлам?
                3. Правильно ли указано комунити?
                4. Так со всеми мибами или только одним?
                  0
                  1. Да (мониторинг по ним работает)
                  2. Да (в выпадающих списках они появляются)
                  3. Да (snmpwalk же показывает)
                  4. Со всеми
                    0
                    Хотел вас отправить сюда, но вижу Вы там уже пишете ;)
                    www.zabbix.com/forum/showthread.php?t=15088&page=16
                    Сам делал на более древней версии, сейчас стоит 1.8.4, билдер не ставил. Не было необходимости. Будет время поставлю отпишусь, как работает.
                    А в логах апача что нить есть?
                      0
                      nginx, тишина. :/
                        0
                        У мну apache, но не думаю что это существенно
                        Попробую отпишу.
                        Кстати не пробовали модифицированные скрипты из темы приведенной выше?
                          0
                          Нет, не пробовал. Я как-то пропустил этот момент…
            0
            Спасибо, за статью! Очень удобная вещь! Возможно Вы слышали в Zabbix 3 версии можно интегрировать SNMP Builder?
              0
              Не слышал.

            Only users with full accounts can post comments. Log in, please.