# NagCollect -- Nagios Data Collector for Passive Checks # Copyright (c)2009-2010 Alexander Barton, alex@barton.de SERVICE="RAID_p" if [ `uname` = "Darwin" ]; then tmp=`mktemp "/tmp/$$.XXXX"` LC_ALL=C diskutil checkRAID >"$tmp" if [ $? -eq 0 ]; then # Apple Software-RAID detected statusString1=`grep "^Status:" "$tmp" | uniq` status=`echo $statusString1 | sed -e 's/Status: //g'` statusString=`grep "^Status:" "$tmp"` statusText=`echo $statusStringAll | sed -e 's/Status: //g' | sed -e 's/ /, /g'` if [ "$status" != "Online" ]; then STATUS=2 TEXT="ERROR - RAID is $statusText" else STATUS=0 TEXT="OK - RAID status is good." 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 read info2 dev=`echo $info1 | cut -d' ' -f1` stat=`echo $info2 | cut -d'[' -f 3 | cut -d']' -f1` echo -n " $dev:$stat" done) if [ "`echo $status | tr -d 'md0123456789: U'`" = "" ]; then STATUS=0 TEXT="OK - RAID is good: $status" else STATUS=2 TEXT="ERROR - RAID status: $status" fi fi