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 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Pflichtfelder sind mit * gekennzeichnet.

*
*