Hewlett-Packard ProLiant DL360 G5 Smart Array Controller monitoring Nagios

Проверяем какой 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  ]