# NagCollect -- Nagios Data Collector for Passive Checks
-# Copyright (c)2009-2010 Alexander Barton, alex@barton.de
+# Copyright (c)2009-2011 Alexander Barton, alex@barton.de
SERVICE="RAID_p"
TEXT="OK - RAID status is good."
fi
fi
+ LC_ALL=C raidutil list status | grep "RAID " >"$tmp"
+ if [ $? -eq 0 ]; then
+ # Apple Hardware-RAID detected
+ declare -i good=0
+ declare -i bad=0
+ status=""
+ while read x; do
+ v=`echo "$x" | cut -d' ' -f1`
+ s=`echo "$x" | cut -b78-`
+ [ -n "$status" ] \
+ && status="$status $v:$s" \
+ || status="$v:$s"
+ [ "$s" = "Good" ] && good=$good+1 || bad=bad+1
+ done <"$tmp"
+ if [ $bad -eq 0 -a $good -gt 1 ]; then
+ STATUS=0
+ TEXT="OK - HW-RAID is good: $status"
+ elif [ $bad -gt 0 ]; then
+ STATUS=2
+ TEXT="ERROR - HW-RAID status: $status"
+ else
+ STATUS=1
+ TEXT="ERROR - HW-RAID status is unknown!? ($status)"
+ fi
+ fi
rm -f "$tmp"
elif [ `uname` = "Linux" -a -r /proc/mdstat ]; then
status=$(cat /proc/mdstat | grep -E "(^md|^ [0-9])" | while read info1; do