Мониторинг параметров сервера с помощью Munin и IPMI

Есть клиентский сервер HP Proliant ML110 G5 со стареньким  FC12 на борту. Специалист, установивший систему (с грубыми ошибками), давно уже занимается другими делами. Нужно отслеживать состояние сервера, особенно состояние оборудования (состояние дисков, температура, вентиляторы, питание).

Для такой задачи подходит Munin, очень хорошая система, если приходится мониторить небольшое количество серверов. Для очень большой сети лучше смотреть в сторону мощных систем мониторинга вроде Zabbix. Но это не мой случай.

Если же мониторинг жестких дисков через SMART включился достаточно просто, то lm-sensors совершенно отказывался показывать вентиляторы и питание, выдавая информацию исключительно по температуре процессоров.

Попробуем использовать IPMI в связке с Munin. Для этого нам понадобится пакет  ipmitools:

$ sudo yum install ipmitool

Установим необходимые модули:

$ sudo modprobe ipmi_devintf
$ sudo modprobe ipmi_si

Если модули не загружены, при попытке запустить ipmitool вылезет примерно такая ошибка:
Could not open device at /dev/ipmi0 or /dev/ipmi/0 or /dev/ipmidev/0: No such file or directory

Для автоматической загрузки модиулей их необходимо прописать в конфигурационном файле (/etc/modules.conf для Red Hat/Fedora Core/CentOS, /etc/modules для Debian/Ubuntu):

$ sudo vim /etc/modules.conf
ipmi_devintf
ipmi_si

$ sudo ipmitool sensor
POST Error | na | discrete | na | na | na | na | na | na | na
Memory ECC | na | discrete | na | na | na | na | na | na | na
ACPI State | 0x1 | discrete | 0x0180| na | na | na | na | na | na
System Reset | 0x0 | discrete | 0x0080| na | na | na | na | na | na
CPU FAN | 1497.454 | RPM | ok | 5537.099 | 4960.317 | 4859.086 | na | 937.383 | na
SYSTEM FAN | 1700.680 | RPM | ok | 5952.381 | 5668.934 | 5411.255 | na | 937.383 | na
System 12V | 12.040 | Volts | ok | na | na | na | na | na | na
System 5V | 5.101 | Volts | ok | na | na | na | na | na | na
System 3.3V | 3.286 | Volts | ok | na | na | na | na | na | na
CPU0 Vcore | 1.137 | Volts | ok | na | na | na | na | na | na
System 1.25V | 1.254 | Volts | ok | na | na | na | na | na | na
System 1.8V | 1.833 | Volts | ok | na | na | na | na | na | na
System 1.2V | 1.205 | Volts | ok | na | na | na | na | na | na
CPU0 Diode | na | degrees C | na | na | 20.000 | 25.000 | 85.000 | 90.000 | 95.000
CPU0 Dmn 0 | 24.000 | degrees C | ok | na | 0.000 | 0.000 | 97.000 | 100.000 | 100.500
CPU0 Dmn 1 | 22.000 | degrees C | ok | na | 0.000 | 0.000 | 97.000 | 100.000 | 100.500
Therm-Trip0 | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU Prochot | 0x0 | discrete | 0x0180| na | na | na | na | na | na
NMI | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU VRD Hot | 0x0 | discrete | 0x0180| na | na | na | na | na | na
CPU0 IERR | 0x0 | discrete | 0x0180| na | na | na | na | na | na
LO100 Present| 0x0 | discrete | 0x0180| na | na | na | na | na | na
Watchdog | na | discrete | na | na | na | na | na | na | na

Вроде все работает. Займемся настройкой плагина.
В поставке последних версий Munin есть поддержка IPMI (/usr/share/munin/plugins/ipmi_), но она достаточно слабая. Мне больше нравится сторонний плагин написанный Юном Футагавой. Можно скачать с GitHub.

Прописываем плагин:
$ sudo ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_fan
$ sudo ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_temp
$ sudo ln -s /usr/share/munin/plugins/ipmitool_sensor_ /etc/munin/plugins/ipmitool_sensor_vol

Так как требуются админские права, их необходимо указать в /etc/munin/plugin-conf.d/munin-node:

[ipmitool_sensor*]
user root
timeout 20

Перезагружаем munin-node:
$ sudo service munin-node restart

Теперь у нас есть достаточно подробная обновляемая информация по работе вентиляторов, температуре системы и состоянию блока питания.

Share/Bookmark

Leave a comment

Your comment