Build precise queries to find exactly what you need
Press ESC to close
Nagios World Conference 2026: Sept. 14-17 in St. Paul, MN | Learn More
Hi,
I added another status for state “check” which is OK (0), and dumps the % complete.
############
[root@stack2 bin]# ./check_md_raid OK – Checked 1 arrays, check : 0.4%
[root@stack2 bin]# more ./check_md_raid #!/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` RAID_STATUS=`egrep “[.*(=|>|.).*]” /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}’` RAID_CHECK=`grep check /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 elif [[ $RAID_CHECK ]]; then STATUS=”OK – Checked $RAID_DEVICES arrays, check : $RAID_CHECK” EXIT=0 # RAID ok elif [[ $RAID_STATUS == “0” ]]; then STATUS=”OK – Checked $RAID_DEVICES arrays.” EXIT=0 # All else critical, better save than sorry else EXTEND_RAID_STATUS=`egrep “[.*(=|>|.|_).*]” /proc/mdstat | awk ‘{print $2}’ | uniq -c | xargs echo` STATUS=”WARNING- Checked $RAID_DEVICES arrays, $RAID_STATUS have failed check: $EXTEND_RAID_STATUS ” EXIT=1 fi
# Status and quit echo $STATUS exit $EXIT