Перейти к основному содержанию

Zabbix — проблема с получением значений некоторых IPMI сенсоров

Zabbix

Заметил, что хосты очень плохо мониторятся через IPMI, никак не мог понять в чём дело. И вот сегодня звёзды сложились так, что удалось подметить некоторую закономерность в поведении хостов.

С помощью ipmitool получаем значения сенсоров одного из хостов.  Получение информации о сенсорах IPMI с помощью ipmitool. В примере ниже это my_server_dns_name, не суть важно:

root@zabbix:~# ipmitool -I lanplus -H my_server_dns_name -U my_user -P my_password sensor list
***
FAN1             | 3200.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN2             | 3100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN3             | 3100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN4             | na         |            | na    | na        | na        | na        | na        | na        | na
FAN5             | 3200.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
FAN6             | 3100.000   | RPM        | ok    | 300.000   | 500.000   | 700.000   | 25300.000 | 25400.000 | 25500.000
***

В качестве примера я оставил только сенсоры вентиляторов.

Если присмотреться, то четвёртого вентилятора нет, — это первый пункт, который следует взять на заметку. Вентилятора и правда нет, вот такой сервер. В шаблоне заббикса, который используется для этого хоста, имеются все сенсоры вентиляторов с первого по шестой и все в статусе enabled, — это второй пункт для заметки.

Третий пункт: в заббиксе относительно нормально отображаются значения первых трёх вентиляторов, хотя график всё равно рваный. А пятый и шестой почти не отображаются или не отображаются вовсе. Думал, что IPMI сервис плохо работает на серверах, но нет.

Случайно заметил в логах zabbix-сервера такую картину:

1174:20180816 IPMI agent item "ipmi.supermicro.fan4" on host "server1" failed: first network error, wait for 15 seconds
1174:20180816 IPMI agent item "ipmi.supermicro.fan4" on host "server2" failed: first network error, wait for 15 seconds
1174:20180816 resuming IPMI agent checks on host "server55": connection restored
1174:20180816 resuming IPMI agent checks on host "server66": connection restored
1174:20180816 IPMI agent item "ipmi.supermicro.fan4" on host "server3" failed: first network error, wait for 15 seconds

Это четвёртый пункт. Странность заключается в том, что сенсор один и тот же, а сервера разные.

Если обобщить все странности, то получается следующее:

  1. Zabbix-сервер имеет таблицу IPMI сенсоров и бежит циклом по этим сенсорам в алфавитном порядке.
  2. Берет FAN1, получает значение этого сенсора для каждого хоста, которому это значение нужно получить.
  3. Пишет полученные значения, потом берет следующий сенсор FAN2, потом FAN3, пока всё в порядке.
  4. Доходит до сенсора в состоянии "na" - у нас это FAN 4 - не находит его на server1 и пишет "first network error, wait for 15 seconds".
  5. И получение IPMI сенсоров для server1 останавливается на 15 секунд, для всех  IPMI сенсоров!
  6. Дальше zabbix-сервер пытается найти FAN4  у server2, если его не находит, то " wait for 15 seconds".
  7. Пробегает по всем остальным хостам, уже не важно находит он у них FAN4 или нет, хосты заканчиваются.
  8. Zabbix-сервер берет FAN5, бежит по серверам, доходит до server1. А хост-то всё ещё " wait for 15 seconds", 15 секунд не прошли, заббикс пропускает этот сервер.
  9. В итоге для server1 значение FAN5 не записывается, хотя сенсор прекрасно работает.
  10. С FAN6 та же история, если 15 секунд не прошли, то значение не записывается.
  11. Потом 15 секунд простоя истекают, хост дальше нормально мониторится.

В результате имеем дырки не меньше 15 секунд в значениях у работающих IPMI сенсоров, рваные графики и даже вовсе пустые значения.

Что делать? Избавляться от "na" сенсоров. Проанализируем наши шаблоны. Если все сервера внутри шаблона имеют одинаковую конфигурацию, то ставим все сенсоры "na" в disabled. Если сервера имеют разную конфигурацию (у кого-то сенсор работает, у кого-то нет), то ставим все сенсоры "na" в disabled уже на каждом конкретном хосте.

Сделал так в рамках одного из шаблонов, — провалы прекратились, полёт нормальный.

 

Теги

 

Похожие материалы

Zabbix шаблон для мониторинга сервера HP Proliant DL380 Gen9

Делюсь полезным шаблоном для мониторинга сервера  HP Proliant DL380 Gen9. Мониторим по IPMI. Шаблон делал сам. В шаблоне 5 приложений, 88 элементов данных, 17 триггеров и 1 график.

Теги