Icinga 1.5: Software RAID überwachen: check_md_raid
Um mein Software RAID zu überprüfen, nutze ich das Script „check_md_raid“ in einer leicht abgeänderten Version.
Vorbereitung: /etc/sudoers mit folgendem Eintrag befüllen
icinga ALL = NOPASSWD: /usr/local/icinga/libexec/check_md_raid
Dieses Script in /usr/local/icinga/libexec/check_md_raid abspeichern.
#!/bin/bash # # Created by Sebastian Grewe, Jammicron Technology # # Get count of raid arrays RAID_DEVICES=`grep ^md -c /proc/mdstat` # Get count of degraded arrays RAID_STATUS=`grep "[.*_.*]" /proc/mdstat -c` # Is an array currently recovering, get percentage of recovery RAID_RECOVER=`grep recovery /proc/mdstat | awk '{print $4}'` RAID_RESYNC=`grep resync /proc/mdstat | awk '{print $4}'` # Check raid status # RAID recovers --> Warning if [[ $RAID_RECOVER ]]; then STATUS="WARNING - Checked $RAID_DEVICES arrays, recovering : $RAID_RECOVER" EXIT=1 elif [[ $RAID_RESYNC ]]; then STATUS="WARNING - Checked $RAID_DEVICES arrays, resync : $RAID_RESYNC" EXIT=1 # RAID ok elif [[ $RAID_STATUS == "0" ]]; then STATUS="OK - Checked $RAID_DEVICES arrays." EXIT=0 # All else critical, better save than sorry else STATUS="CRITICAL - Checked $RAID_DEVICES arrays, $RAID_STATUS have FAILED" EXIT=2 fi # Status and quit echo $STATUS exit $EXIT
Danach folgende Zeilen in: /usr/local/icinga/etc/objects/commands.cfg
#md raid define command{ command_name check_md_raid command_line /usr/bin/sudo /usr/local/icinga/libexec/check_md_raid }
und /usr/local/icinga/etc/objects/localhost.cfg
# CHECK SW RAID define service{ use local-service host_name localhost service_description Software RAID mdadm check_command check_md_raid }
Zu guter letzt noch einen beherzten:
/etc/init.d/icinga restart
und fertig 🙂