Проверяем какой RAID установлен на сервере
# lspci -v | grep RAID 04:08.1 RAID bus controller: Dell PowerEdge Expandable RAID Controller 3/Di (rev 01)
Мониторить Perc 3/Di будем с помощью afacli
A configuration utility for PERC2, PERC2/Si, PERC3/Si, and PERC3/Di controllers. This application allows you to perform storage management tasks on the above listed controllers, attached disks, and containers by providing many commands.
Скачиваем aacraid-util-rh8.0-i386.tar.gz с сайта Dell
Распаковываем и устанавливаем
# tar xvf aacraid-util-rh8.0-i386.tar.gz # rpm -ivh afaapps-2.7-2.i386.rpm
Информация о пакете
# rpm -qi afaapps Name : afaapps Relocations: (not relocatable) Version : 2.7 Vendor: Adaptec, Inc. Release : 2 Build Date: Wed Oct 23 16:55:16 2002 Install Date: Wed Sep 26 14:22:55 2012 Build Host: localhost.localdomain Group : Utilities/System Source RPM: afaapps-2.7-2.src.rpm Size : 1246034 License: 2000, Adaptec Inc. Signature : (none) Packager : DELL Linux Solutions Group Summary : DELL PowerEdge Raid Controller 2 (apps) Description : The afacli application consists of a command line interface (CLI) that lets you perform storage management tasks related to managing controllers, disks, containers, and enclosure devices by providing a variety of commands.
Файлы которые входят в пакет
# rpm -ql afaapps /dev/MAKEDEV.afa /usr/sbin/afacli /usr/sbin/afacli.bin /usr/sbin/getcfg.afa
Работа с утилитой afacli
# afacli -------------------------------------------------------------------------------------------------- DELL PowerEdge Expandable RAID Controller 2 Command Line Interface Copyright 1998-2002 Adaptec, Inc. All rights reserved -------------------------------------------------------------------------------------------------- FASTCMD>
FASTCMD> open afa0 Executing: open "afa0"
Посмотреть информации о контроллере
AFA0> controller details Executing: controller details Controller Information ---------------------- Remote Computer: . Device Name: AFA0 Controller Type: PERC 3/Di Access Mode: READ-WRITE Controller Serial Number: Last Six Digits = C861D3 Number of Buses: 2 Devices per Bus: 15 Controller CPU: i960 R series Controller CPU Speed: 100 Mhz Controller Memory: 128 Mbytes Battery State: Ok Component Revisions ------------------- CLI: 2.7-1 (Build #4944) API: 2.7-1 (Build #4944) Miniport Driver: 1.1-5 (Build #24702) Controller Software: 2.8-1 (Build #7692) Controller BIOS: 2.8-1 (Build #7692) Controller Firmware: (Build #7692)
Изучаем состояние дисков
AFA0> enclosure show slot Executing: enclosure show slot Enclosure ID (B:ID:L) Slot scsiId Insert Status ----------- ---- ------ ------- ------------------------------------------ 0 0:06:0 0 0:00:0 1 OK ACTIVATE 0 0:06:0 1 0:01:0 1 OK ACTIVATE 0 0:06:0 2 0:02:0 1 OK ACTIVATE 0 0:06:0 3 0:03:0 1 OK ACTIVATE 0 0:06:0 4 0:04:0 1 OK ACTIVATE
Посмотреть интересующую нас информацию
enclosure show - Shows enclosure configuration information. enclosure show fan - Displays the enclosure fan status. enclosure show power - Displays the enclosure power supply status. enclosure show slot - Displays the enclosure device slot status. enclosure show status - Displays the enclosure general status. enclosure show temperature - Displays the enclosure temperature sensor status.
Закрываем консоль и выходим
AFA0> close Executing: close FASTCMD> exit
Добавим в Nagios проверку RAID при помощи nrpe и вот этого скрипта check_afacli
В этом скрипте обращаем внимание на следующие параметры
use lib "/usr/lib/nagios/plugins"; # если у вас 32 битная система; # use lib "/usr/lib64/nagios/plugins"; # если у вас 64 битная система; my $SUDO = '/usr/bin/sudo'; # путь к sudo my $AFACLI = '/usr/sbin/afacli'; # путь к afacli my $AFASCRIPT = '/etc/nagios/afascript'; my $AFALOG = '/tmp/afacli.log';
Что из себя представляет /etc/nagios/afascript. Это набор команд которое необходимо проделать скрипту
# vi /etc/nagios/afascript logfile start '/tmp/afacli.log' open afa0 controller details container list /all /full enclosure show slot close logfile end exit
Сделаем файл исполняемым и перенесем в папку
/usr/lib/nagios/plugins для 32-битных систем /usr/lib64/nagios/plugins"для 64-битных систем
# chmod +x check_afacli # mv check_afacli /usr/lib/nagios/plugins
Проверим скрипт
# /usr/lib/nagios/plugins/check_afacli OK: Battery:Ok 0:RAID-5:546GB:OK
Добавим на хост машине в /etc/nagios/nrpe.cfg
command[check_afacli]=/usr/lib/nagios/plugins/check_afacli
Перестартуем 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_afacli }
Перестартуем Nagios
# service nagios reload nagios (pid 26186 7947 7937) is running... Reloading nagios: [ OK ]
Результат