Мониторинг серверов с Intel RMM средствами Zabbix

Однажды, при создании комплексной системы мониторинга, появилась задача — снимать статистику не только по операционной системе, но и по состоянию железа (использовались серверы компании Intel). Но температуру, напряжение, скорость вращения кулеров и многое другое на этих серверах можно получить с BMC только посредством IPMI.

У Intel для этих целей можно заказать модули RMM (Remote Management Module) — модули для удалённого управления сервером до загрузки операционной системы, а в последних линейках серверов можно обойтись и встроенными средствами AMT. Немного подробнее можно прочитать в статье Василия Лизунова на Intel IT Galaxy

Intel RMM2
В качестве средства мониторинга мы на фирме используем Zabbix. Причина выбора данного продукта очень проста — не требуется собирать велосипеды. Графики для руководства? Пожалуйста. Хочется узнать время отклика сайтов? Без проблем. Оповещения? Элементарно. А если захочется — то и по SNMP статистику со свитчей снимать можно.
И немаловажное преимущество — Zabbix умеет работать с IPMI-enabled устройствами через библиотеки openipmi. Такого функционала я не видел ни в одной свободной системе мониторинга.

Настраиваем IPMI

Настроить IPMI на сервере проще всего с использованием утилиты ipmitool.

~ # ipmitool shell
ipmitool>

Настраиваем параметры, относящиеся к сети. При этом мы используем канал #1, который на самом деле является первым сетевым интерфейсом сервера. RMM перехватывает предназначенные ему данные. Можно использовать и выделенный интерфейс RMM, но это дело личных предпочтений.

ipmitool> lan set 1 ipsrc static
ipmitool> lan set 1 ipaddr 192.168.1.17
ipmitool> lan set 1 netmask 255.255.255.0
ipmitool> lan set 1 defgw ipaddr 192.168.1.10

У RMM2 есть проблема — он не полностью совместим со стандартом RMCP+ (IPMI 2.0). При удалённом подключении из ipmitool необходимо к -I lanplus добавить -o intelplus. У RMM3 таких проблем нет, но, в целях обратной совместимости, будем пускать пользователей по протоколу IPMI 1.5 с механизмом аутентификации MD5.

ipmitool> lan set 1 access on
ipmitool> lan set 1 auth USER MD5

Добавляем собственно пользователя zabbix с userid=2 и паролем zabbix:

ipmitool> user set name 2 zabbix
ipmitool> user set password 2 zabbix
ipmitool> user priv 2 2 1

Последняя строка, уровень привилегий пользователя, имеет формат

user priv <user id> <privilege level> <channel number>Possible privilege levels are:1   Callback level

2   User level

3   Operator level

4   Administrator level

5   OEM Proprietary level

15   No access

И, наконец, настраиваем канал и проверяем возможность залогиниться:

ipmitool> channel setaccess 1 2 callin=on ipmi=on link=on privilege=2
ipmitool> channel authcap 1 2
ipmitool> user test 2 16 zabbix
Success

Настраиваем Zabbix

Для того, чтобы включить IPMI-поллеры, требуется раскомментировать строку “StartIPMIPollers=” в конфигурационном файле zabbix-сервера, указав количество процессов, ответственных за сбор информации с IPMI (одного обычно более чем достаточно). Естественно, предварительно нужно собрать zabbix с поддержкой openipmi (в Gentoo — просто добавить USE-флаг openipmi)
В логе при перезапуске демона будет видно:

Starting zabbix_server. Zabbix 1.8.1 (revision 9702).
**** Enabled features ****
IPMI monitoring: YES

server # started [IPMI Poller]

Заходим в веб-интерфейс, и на вкладке «Configuration -> Hosts» создаём новый хост.
Параметры DNS name и IP address в принципе не важны, но лучше их указать, так как, скорее всего, будут использоваться и другие средства мониторинга, например zabbix-agent.
Устанавливаем галочку на пункт «Use IPMI» и заполняем появившиеся поля согласно настройкам, прописанным через ipmitool:
Создание хоста
Следующим шагом будет создание элементов для отображения. Чтобы получить список доступных для отображения сенсоров, воспользуемся всё тем же ipmitool:

ipmitool> sdr
BB +1.1V IOH | 1.09 Volts | ok
BB +1.1V P1 Vccp | 0.96 Volts | ok
BB +1.1V P2 Vccp | 0.94 Volts | ok

Здесь первое поле — имя сенсора, второе — значение.
Заносим это в конфигурацию элемента:
Создание сенсора

  • Поле «Type» — выбираем IPMI Sensor
  • Поле «IPMI sensor» — записываем имя сенсора, как оно быо указано в sdr.
  • Поле «Key» — любой уникальный ключ для записи в БД.

Заполняем подобным образом все интересующие сенсоры и получаем примерно такую картинку:
Создание сенсора

А при переходе в «Monitoring -> Latest data» — значения сенсоров.
Дальше с этими данными можно делать практически всё, что угодно: рисовать графики, создавать триггеры на оповещение, строить отчёты по SLA и многое другое из того, что умеет Zabbix.
Например, у меня получились такие шаблоны:
Для RMM2
Для RMM3

Приятного мониторинга!

Данная статья ни в коей мере не является Definitive Guide, скорее личным представлением предмета. Соответственно, возможны ошибки.

<

p align=”right”>Автор: Дмитрий Нартов

Читайте также:

Нам нужна новая наука прогресса

Smart city – новый идеальный город?

5G грядёт: всё, что нужно знать о новом поколении мобильной связи

Надёжная поддержка: лучшие повербанки 2018