Некоторые серверы стали отваливаться от мониторинга Zabbix со странными ошибками. Обычный плавающий баг, то работаю, то не работаю. Начал анализировать ситуацию, заметил несколько моментов:
- Ошибки начались после установки новых PCIe устройств на нескольких серверах.
- Ошибки при мониторинге серверов через IPMI.
У меня HPE ProLiant сервера разных моделей. И сегодня-таки я вычислил источник проблем. Начал просматривать списки сенсоров с помощью утилиты ipmitool.
Получение информации о сенсорах IPMI с помощью ipmitool
И заметил интересную ошибку:
IPMI — Get SDR 0082 command failed: BMC initialization in progress
При опросе некоторых сенсоров сервер не отдавал значение, а сыпал ошибкой. После пары запросов значение сенсора отдавалось. При повторном запросе ошибка происходила на другом сенсоре. Получается, что Zabbix иногда не мог получить значение случайных сенсоров и сервер отваливался из мониторинга.
Что делать, проблема-то на сервере? Читать логи. Полез в логи серверов и заметил, что на проблемных серверах в логах встречается ещё одна ошибка:
The iLO health monitoring status of the device / adapter located in Slot N is not responsive
iLO 5 не отдаёт заббиксу значение сенсоров по той простой причине, что само ожидает ответ от PCIe устройства по протоколу MCTP и висит. Отрубаем, нафиг, MCTP, ждём две минуты и радуемся. Процесс описан в статье:
The iLO health monitoring status of the device / adapter located in Slot N is not responsive
Да, нужно ещё перезагрузить iLO и сам сервер.
После отключения MCTP и перезагрузки iLO и сервера, проблема ушла. Не единого разрыва! Вот только часть сенсоров пропала, но уж переживу. Можно ещё поиграться с MCTP и отключить только проблемные PCIe устройства, но это уже не сегодня.