#!/bin/sh
## Areca Raid Check Tool for Nagios
## (c) 2005 by Unilogic Networks B.V.
##             Cliff Albert 
##             <cliff@unilogicnetworks.net>
##
##             Cheap Dirty Release Version 2

if [ $# -eq 1 ]; then

ARECA_CLI="/usr/local/bin/cli"
ARECA_OUTPUT=$(echo -e 'rsf info\nexit\n' | sudo $ARECA_CLI | grep 'Raid Set' | awk -F'=' '{print $NF}')

VS_TO_CHECK="Raid Set # $1"

if echo $ARECA_OUTPUT | grep "$VS_TO_CHECK" >/dev/null; then
  if echo $ARECA_OUTPUT | grep 'Normal' >/dev/null; then
    echo $ARECA_OUTPUT | grep "$VS_TO_CHECK" | awk '{print "OK: Raid Set "$5" is "$10" ("$7" on "$9")"}'
    exit 0
  else
    if echo $ARECA_OUTPUT | grep 'Degraded' >/dev/null; then
      echo $ARECA_OUTPUT | grep "$VS_TO_CHECK" | awk '{print "CRITICAL: Raid Set "$5" is "$10" ("$7" on "$9")"}'  
      exit 2
    fi
    if echo $ARECA_OUTPUT | grep 'Rebuilding' >/dev/null; then
      echo $ARECA_OUTPUT | grep "$VS_TO_CHECK" | awk '{print "WARNING: Raid Set "$5" is "$10" ("$7" on "$9")"}'
      exit 1
    fi
  fi
else 
  echo "WARNING: Volume Set $VS_TO_CHECK not found";
  exit 1
fi

else
  echo "$0: <raidset>";
fi
