Mit mpt-status, ist es relativ einfach, den Zustand der Festplatten zu überwachen.
apt-get install mpt-status
Es kein sein, das folgende Fehler auftritt :
# mpt-status open /dev/mptctl: No such file or directory Try: mknod /dev/mptctl c 10 220 Make sure mptctl is loaded into the kernel
Dafür muss man einfach das Module mptctl laden :
modprobe mptctl
Da gab es folgendes bei mir :
# mpt-status You seem to have no SCSI disks attached to your HBA or you have them on a different scsi_id. To get your SCSI id, run: mpt-status -p
Ok, er findet nicht direkt was er braucht, dann versucht man weiter :
# mpt-status -p Checking for SCSI ID:0 Checking for SCSI ID:1 Found SCSI id=1, use ''mpt-status -i 1`` to get more information.
Endlich :
# mpt-status -i 1 ioc0 vol_id 1 type IM, 2 phy, 698 GB, state OPTIMAL, flags ENABLED ioc0 phy 0 scsi_id 0 ATA Hitachi HUA72107 A74A, 698 GB, state ONLINE, flags NONE ioc0 phy 2 scsi_id 9 ATA Hitachi HUA72107 A74A, 698 GB, state ONLINE, flags NONE
Da kriegt man zwei wichtige Infos :
Das ist relativ einfach, die Bewachung mit mpt-status in Nagios zu integrieren, dafür ist es nötig einige Dateien zu ändern.
Erst mal, muss man ein Skript für Nagios erstellen :
nano /usr/lib/nagios/plugins/check_mpt
In dem man schreibt :
#!/bin/sh CHECKRAID=$(sudo /usr/sbin/mpt-status -i 1 | grep OPTIMAL) CHECKSYNC=$(sudo /usr/sbin/mpt-status -i 1 | grep RESYNC_IN_PROGRESS) if [ -n "$CHECKRAID" ] ; then echo "RAID OK" exit 0 elif [ -n "$CHECKSYNC" ] ; then echo "RAID SYNCING" exit 1 else echo "RAID CRITICAL" exit 2 fi
Die Zeile die, die /usr/sbin/mpt-status -i 1 enthalten, müssen angepasst werden, entsprechend dem vorherigen Paragraph. Dann die richtige Rechte geben :
chmod 755 /usr/lib/nagios/plugins/check_mpt
Zunächst muss man dieses Skript in der Konfiguration von Nagios aufrufen :
nano /etc/nagios3/conf.d/linuxmuster_custom.cfg
Folgendes am Ende der Datei schreiben :
## RAID mit mpt-status define command{ command_name check_mpt command_line /usr/lib/nagios/plugins/check_mpt } define service{ use linuxmuster-service host_name server ## HOSTNAME ANPASSEN !! service_description SYS - RAID notification_options w,u,c,r check_command check_mpt }
Der User Nagios darf nicht den Device /dev/mptctl verwenden, deswegen ist zuletzt folgender Eintrag in /etc/sudoers notwendig :
nagios ALL=(ALL) NOPASSWD:/usr/sbin/mpt-status
Ok, fertig, einfach nur Nagios neu starten und es sollte auf der Weboberfläche erscheinen :
/etc/init.d/nagios3 restart