Нужно поставить оборудование на мониторинг, а в любимой системе Zabbix нет готового шаблона под этот тип оборудования. Знакомая ситуация? Каждый выкручивается из нее по-своему. Один администратор ищет решение на просторах интернета. Второй — разрабатывает свое. А некоторые махнут на эту задачу рукой. Сейчас команда Zabbix с каждым новым релизом расширяет набор предустановленных в системе шаблонов. Например, в готовящейся к выходу версии 5.0 появится новый универсальный шаблон для мониторинга серверов через IPMI — Template Server by IPMI. Коллеги попросили помочь в отладке его работы на оборудовании различных производителей. Для нас это еще уникальная возможность устроить тест-драйв новому функционалу. Делимся результатами.
Как выглядит новый шаблон?
Для того, чтобы поставить на мониторинг ваш сервер с помощью этого шаблона, вам необходимо создать в системе «узел сети» с настроенным мониторингом через IPMI и прикрепить к нему шаблон Template Server by IPMI (Рис.1). Здесь не будет подробного описания этой операции: подробная инструкция есть в официальной документации Zabbix.
Рис. 1. Шаблон Template Server by IPMI
Рассмотрим принципы работы данного шаблона и его структуру.
Основа шаблона — утилита ipmitool. Она позволяет получать необходимую статистику с оборудования через IPMI. Использование функционала этой утилиты и получение всех необходимый данных теперь доступно пользователем через веб-интерфейс с помощью типа элементов данных IPMI agent, и специального ключа ipmi.get. Это стало возможным только благодаря появлению ключа ipmi.get в новой версии.
В шаблоне Template Server by IPMI за организацию сбора информации с помощью этого нового функционала отвечает элемент данных Item Get IPMI sensors (Рис. 2).
Рис. 2. Элемент данных Item Get IPMI sensors
В результате работы элемента данных Item Get IPMI sensors в систему Zabbix появляется информация о состоянии оборудования в структурированном формате JSON (Рис.3).
Рис. 3. Пример результата работы item Get IPMI sensors
Помимо элемента данных Item Get IPMI sensors в шаблоне также есть два правила обнаружения Discrete sensors discovery (Рис. 4) и Threshold sensors discovery (Рис 5). Данные правила обнаружения используют JSON, полученный в результате работы элемента данных Item Get IPMI sensors для автоматического создания новых элементов данных и триггеров. Это хорошо видно на рисунках ниже в разделе Мaster item.
Рис. 4. Правило обнаружения Discrete sensors discovery
Рис. 5. Правило обнаружения Threshold sensors discovery
Зачем в шаблоне используются два правила обнаружения, а не одно?
Discrete sensors discovery обеспечивает автоматическое создание элементов данных, которые в своих значениях имеют тип «строка». А правило обнаружения Threshold sensors discovery позволяет автоматически создать элементы данных, которые в своих значениях имеют тип «число». К тому же это правило может образовать для каждого элемента данных до 6 триггеров (Рис. 6).
Значения для условий триггеров берутся из JSON, то есть c самого устройства. Триггеры создаются для 6 порогов: нижний опасный, нижний критичный, нижний некритичный, верхний некритичный, верхний критичный, верхний опасный. Если значение для какого-то порога отсутствуют в JSON, триггер не создается.
В образованном триггере порог можно переопределить на уровне Zabbix. Однако, на наш взгляд, самый логичный способ изменить триггер — преобразовать его на уровне оборудования. Как это сделать обычно указано в инструкциях к устройству.
Рис. 6. 6 прототипов триггеров правила обнаружения Threshold sensors discovery
Запрягаем и поехали
Чтобы протестировать шаблон Template Server by IPMI, мы выбрали серверы трех производителей: IBM, HP и Huawei. Спустя несколько минут после подключения, по ним были получены результаты, приведенные в таблице.
Таблица 1. Результаты тестирования шаблона Template Server by IPMI
Производитель оборудования | Модель оборудования | Количество автоматически созданных элементов данных | Количество автоматически созданных триггеров |
HP | ProLiant DL360 G5 | 20 | 24 |
Huawei | 1288H V5 | 175 | 56 |
IBM | System X | 139 | 27 |
Все оборудование успешно смогло встать на мониторинг с помощью нового шаблона и нового ключа ipmi.key.
Больше всего данных мы смогли получить с оборудования Huawei, а меньше всего — от HP. Причина этого кроется в разнице аппаратной части устройств и не имеет отношения к качеству работы нового шаблона.
На скриншотах ниже можно увидеть автоматически созданные шаблоном элементы данных и триггеры.
Рис. 7. Автоматически созданные шаблоном элементы данных
Рис. 8. Автоматически созданные шаблоном триггеры
***
Шаблон Template Server by IPMI показал себя с лучшей стороны. Он оказался простым в использовании и, что самое важное, — «универсальным».
Шаблон Template Server by IPMI войдет в список базовых шаблонов версии Zabbix 5.0. Со своей стороны мы всячески поддерживаем такой подход производителя. Даже если специалисты вынуждены создавать свои специализированные шаблоны, мы рекомендуем брать за основу подходы, заложенные самим производителем и наблюдающиеся в Template Server by IPMI. Во-первых, использовать автоматическое обнаружение элементов данных с использованием master item. А во-вторых, применять автоматическое обнаружение триггеров с использованием master item в случаях, когда это возможно.
Ну и с нетерпением ждем в ближайшее время выхода Zabbix 5.0!