Проверим состояние дисков в RAID:
# yum -y install pciutils smartmontools unzip
# lspci -v | grep RAID 02:0e.0 RAID bus controller: Dell PowerEdge Expandable RAID controller 5 Subsystem: Dell PERC 5/i Integrated RAID Controller
Скачиваем и распаковываем архив MegaCLI
# wget https://docs.broadcom.com/docs-and-downloads/raid-controllers/raid-controllers-common-files/8-07-14_MegaCLI.zip # unzip 8-07-14_MegaCLI.zip # cd MegaCli_Linux # rpm -i MegaCli-8.07.14-1.noarch.rpm
Создадим симлинк для удобной работы с утилитой MegaCli64:
# ln -sf /opt/MegaRAID/MegaCli/MegaCli64 /usr/bin/MegaCli
RAID Level:
MegaCli -ShowSummary -a0 MegaCli -ShowSummary -a0 | grep -i "RAID Level"
Nagios плагин для проверки состояния RAID массива https://github.com/glensc/nagios-plugin-check_raid
# wget https://github.com/glensc/nagios-plugin-check_raid/releases/download/4.0.10/check_raid.pl # chmod +x check_raid.pl # ./check_raid -S
Проверяем от какого пользователя работает nrpe:
# ps aux | grep nrpe nrpe /usr/sbin/nrpe -c /etc/nagios/nrpe.cfg -d # grep user /etc/nagios/nrpe.cfg nrpe_user=nrpe
Правим файл /etc/sudoers.d/check_raid
cat /etc/sudoers.d/check_raid User_Alias CHECK_RAID=nagios, nrpe Defaults:CHECK_RAID !requiretty CHECK_RAID ALL=(root) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64 -PDList -aALL -NoLog CHECK_RAID ALL=(root) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64 -LdInfo -Lall -aALL -NoLog CHECK_RAID ALL=(root) NOPASSWD: /opt/MegaRAID/MegaCli/MegaCli64 -AdpBbuCmd -GetBbuStatus -aALL -NoLog
Проверяем:
# ./check_raid.pl --cache-fail=OK -p megacli OK: megacli:[Volumes(2): DISK0.0:Optimal,WriteCache:DISABLED,Backup:Optimal,WriteCache:DISABLED; Devices(2): 00,01=Online]
Добавим проверку S.M.A.R.T параметров дисков в RAID массиве c помощью скрипта: https://github.com/Napsty/check_smart
# wget https://raw.githubusercontent.com/Napsty/check_smart/master/check_smart.pl # chmod +x check_smart.pl
Так как у нас диски в RAID массиве то используем такие ключи:
# ./check_smart.pl -d /dev/sda -i sat+megaraid,0 OK: Drive ST3000DM001-1CH166 S/N W1F29LPX: no SMART errors detected. # ./check_smart.pl -d /dev/sdb -i sat+megaraid,1 OK: Drive WDC WD1002FAEX-00Y9A0 S/N WD-WCAW31047220: no SMART errors detected.
Полная проверка всех параметров c помощью smartctl:
# /usr/sbin/smartctl -a -d sat+megaraid,0 /dev/sda # /usr/sbin/smartctl -a -d sat+megaraid,1 /dev/sda
Создаем файл /etc/sudoers.d/check_smart
nrpe ALL = NOPASSWD: /usr/lib64/nagios/plugins/check_smart.pl nrpe ALL = NOPASSWD: /usr/sbin/smartctl
Добавляем в nrpe
command[check_raid]=/usr/lib64/nagios/plugins/check_raid.pl --cache-fail=OK -p megacli command[check_smart0]=/usr/lib64/nagios/plugins/check_smart.pl -d /dev/sdb -i sat+megaraid,0 command[check_smart1]=/usr/lib64/nagios/plugins/check_smart.pl -d /dev/sdb -i sat+megaraid,1