Я раньше сталкивался с проблемой мониторинга серверов HP ProLiant девятого поколения по SNMP, ссылку добавлю ниже. В тот раз я вышел из тупика переходом на мониторинг северов по IPMI. Со временем девятое поколение серверов стало плавно меняться на десятое, при этом мониторинг так и остался на IPMI, я просто для каждой новой модели сервера делал новый шаблон. И вот натыкаюсь на странный баг с IPMI.
Никогда не было и вот опять!
Баг с IPMI
Баг довольно прост, если сервер ничем не нагружен, например, находится в режиме Maintenance Mode как гипервизор ESXi или просто стоит включённым и ничего не делает, то случается страшное! С определённой долей вероятности сервер отваливается от zabbix. Обычно это происходит в 4 утра, когда все сладко спят до первой SMS от zabbix. Сервер отваливается от мониторинга капитально, все IPMI датчики сервера перестают получать значения от сервера.
С определённой долей вероятности по закону подлости сервер может вернуться в мониторинг. Ну вы поняли, в 4 утра. И снова пропасть.
Исследование бага
После того как SMS стал слать второй сервер, я занялся исследованием проблемы. Самое интересное, что если запросить информацию о сенсорах вручную с помощью ipmitool, то значения всех датчиков прекрасно получаются, но zabbix всё равно в упор не видит значения сенсоров:
ipmitool -I lanplus -H хост -U логин -P пароль sensor list
Где хост — IP адрес сервера или DNS имя, логин — логин к IPMI, пароль — пароль к IPMI.
Единственная проблема была найдена в поведении IPMI. При выводе списка всех сенсоров скрипт мог остановиться на каком-то сенсоре, потом продолжить работу. Залипание происходило на любом месте и могло длиться несколько секунд. Нездоровое поведение. Скорее всего проблема как раз в превышении таймаута на получение значений сенсоров. И таймаут этот зашит где-то в дебрях zabbix server или библиотеки openipmi. Увеличить таймаут я не могу, нужно что-то делать с серверами. Оба сервера десятого поколения:
- HPE ProLiant DL360 Gen10
- HPE ProLiant DL380 Gen10
И оба сервера в режиме Maintenance Mode, работают без нагрузки.
Решение проблемы
Проблему можно решить временно с помощью перезагрузки iLO 5 (Firmware Version 2.30). Но через какое-то время (в 4 утра, как вы и догадываетесь) проблема возвращается.
Второй вариант решения проблемы — дать нагрузку! Собственно, этот вариант мне и вернул здоровый сон. Сервера были выведены из режима Maintenance Mode, электроны забегали по процессорам. Проблема ушла.
Домашнее задание
Есть пара мыслей о том, как можно избавиться от бага. Это вам домашнее задание, кто проверит и напишет результат — тот сисадмин.
Мысль первая. Возможно, когда-нибудь, выйдет новая прошивка iLO 5 с исправлением бага. Дружно ждём.
Мысль вторая. Где-то в дебрях BIOS (RBSU) есть настройка, которая включает на сервере режим максимальной производительности. Название не помню. Если её включить, то с большой долей вероятности сервер перестанет спать на боевом посту, и тогда, наверняка, IPMI не будет так дико тормозить с выдачей значений сенсоров, zabbix server запиликает на скрипке. Но это лишь теория.