Проверяем какой RAID установлен на сервере
# lspci -v | grep RAID 06:00.0 RAID bus controller: Hewlett-Packard Company Smart Array Controller (rev 03)
Мониторить Smart Array Controller будем с помощью hpacucli
Скачиваем и устанавливаем необходимую нам версию
# rpm -Uvh hpacucli-9.20-9.0.i386.rpm
Информация о пакете
# yum info hpacucli Name : hpacucli Arch : i386 Version : 9.20 Release : 9.0 Size : 18 M Repo : installed Summary : HP Command Line Array Configuration Utility URL : http://www.hp.com/linux License : See hpacucli.license Description: The HP Command Line Array Configuration Utility is the disk : array configuration program for Array Controllers.
Файлы которые входят в пакет
# rpm -ql hpacucli /opt/compaq/hpacucli /opt/compaq/hpacucli/bld /opt/compaq/hpacucli/bld/.hpacucli /opt/compaq/hpacucli/bld/.hpacuscripting /opt/compaq/hpacucli/bld/hpacucli /opt/compaq/hpacucli/bld/hpacucli-9.20-9.0.i386.txt /opt/compaq/hpacucli/bld/hpacucli.license /opt/compaq/hpacucli/bld/hpacuscripting /opt/compaq/hpacucli/bld/libcpqimgr.so /opt/compaq/hpacucli/bld/mklocks.sh /usr/man/man8/hpacucli.8.gz /usr/sbin/hpacucli /usr/sbin/hpacuscripting
Проверить статус контроллера можно командой
# hpacucli controller all show status Smart Array P400i in Slot 0 (Embedded) Controller Status: OK Cache Status: OK
Проверить статус логических дисков
# hpacucli controller slot=0 logicaldrive all show status logicaldrive 1 (68.3 GB, RAID 1): OK logicaldrive 2 (558.7 GB, RAID 5): OK
Проверить статус физических дисков
# hpacucli controller slot=0 physicaldrive all show status physicaldrive 1I:1:1 (port 1I:box 1:bay 1, 72 GB): OK physicaldrive 1I:1:2 (port 1I:box 1:bay 2, 72 GB): OK physicaldrive 1I:1:3 (port 1I:box 1:bay 3, 300 GB): OK physicaldrive 1I:1:4 (port 1I:box 1:bay 4, 300 GB): OK physicaldrive 2I:1:5 (port 2I:box 1:bay 5, 300 GB): OK
Добавим в Nagios проверку RAID при помощи nrpe и вот этого скрипта check_hparray
Сделаем файл исполняемым и перенесем в папку
/usr/lib/nagios/plugins для 32-битных систем /usr/lib64/nagios/plugins"для 64-битных систем
# chmod +x check_hparray # mv check_hparray /usr/lib/nagios/plugins
Проверим скрипт
# ./check_hparray -s 0 RAID OK - Smart Array P400i in Slot 0 (Embedded) array A logicaldrive 1 (68.3 GB, RAID 1, OK) array B logicaldrive 2 (558.7 GB, RAID 5, OK))
Проверяем от какого пользователя работает nrpe
# ps waux | grep nrpe nagios 293884 nrpe -c /etc/nagios/nrpe.cfg -d
Добавим пользователя nagios в sudoers, для этого пропишем, командой visudo, строчку в /etc/sudoers, вместе с #
#includedir /etc/sudoers.d
# tail -n 2 /etc/sudoers #includedir /etc/sudoers.d
Создаем директории и файл со следующим содержанием
# mkdir /etc/sudoers.d # touch /etc/sudoers.d/nrpe # cat /etc/sudoers.d/nrpe Defaults:nagios !requiretty nagios ALL=(ALL) NOPASSWD: /usr/lib64/nagios/plugins/
Добавим на хост машине в /etc/nagios/nrpe.cfg
command[check_hparray]=/usr/lib/nagios/plugins/check_hparray -s 0
Перестартуем nrpe
# service nrpe restart Shutting down Nagios NRPE daemon (nrpe): [ OK ] Starting Nagios NRPE daemon (nrpe): [ OK ]
На сервере Nagios в /etc/nagios/hosts/TEST.cfg пропишем проверку сервиса
define service{ use generic-service host_name TEST service_description RAID is_volatile 0 check_period 24x7 max_check_attempts 3 normal_check_interval 1 retry_check_interval 1 contact_groups admins notification_interval 120 notification_period 24x7 notification_options c,r check_command check_nrpe!check_hparray }
Перестартуем Nagios
# service nagios reload Reloading nagios: [ OK ]