diff options
Diffstat (limited to 'contrib/check_adptraid.sh')
| -rw-r--r-- | contrib/check_adptraid.sh | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/contrib/check_adptraid.sh b/contrib/check_adptraid.sh new file mode 100644 index 00000000..d7f8d0c3 --- /dev/null +++ b/contrib/check_adptraid.sh | |||
| @@ -0,0 +1,75 @@ | |||
| 1 | #! /bin/sh | ||
| 2 | # | ||
| 3 | # Modified check_sensors to check the alarm status of an Adaptec 3200S RAID | ||
| 4 | # controller. | ||
| 5 | # | ||
| 6 | # Scott Lambert -- lambert@lambertfam.org | ||
| 7 | # | ||
| 8 | # Tested on FreeBSD 4.7 with the adptfbsd_323.tgz package installed. This | ||
| 9 | # package installs all it's programs into /usr/dpt. | ||
| 10 | # | ||
| 11 | |||
| 12 | PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin | ||
| 13 | |||
| 14 | PROGNAME=`basename $0` | ||
| 15 | PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'` | ||
| 16 | REVISION=`echo '$Revision$' | sed -e 's/[^0-9.]//g'` | ||
| 17 | |||
| 18 | . $PROGPATH/utils.sh | ||
| 19 | |||
| 20 | RAIDUTIL_CMD="/usr/dpt/raidutil -A ?" | ||
| 21 | |||
| 22 | print_usage() { | ||
| 23 | echo "Usage: $PROGNAME" | ||
| 24 | } | ||
| 25 | |||
| 26 | print_help() { | ||
| 27 | print_revision $PROGNAME $REVISION | ||
| 28 | echo "" | ||
| 29 | print_usage | ||
| 30 | echo "" | ||
| 31 | echo "This plugin checks alarm status of Adaptec 3200S RAID controller." | ||
| 32 | echo "" | ||
| 33 | support | ||
| 34 | exit 0 | ||
| 35 | } | ||
| 36 | |||
| 37 | case "$1" in | ||
| 38 | --help) | ||
| 39 | print_help | ||
| 40 | exit 0 | ||
| 41 | ;; | ||
| 42 | -h) | ||
| 43 | print_help | ||
| 44 | exit 0 | ||
| 45 | ;; | ||
| 46 | --version) | ||
| 47 | print_revision $PROGNAME $REVISION | ||
| 48 | exit 0 | ||
| 49 | ;; | ||
| 50 | -V) | ||
| 51 | print_revision $PROGNAME $REVISION | ||
| 52 | exit 0 | ||
| 53 | ;; | ||
| 54 | *) | ||
| 55 | raidutiloutput=`$RAIDUTIL_CMD 2>&1` | ||
| 56 | status=$? | ||
| 57 | if test "$1" = "-v" -o "$1" = "--verbose"; then | ||
| 58 | echo ${raidutiloutput} | ||
| 59 | fi | ||
| 60 | if test ${status} -eq 127; then | ||
| 61 | echo "RAIDUTIL UNKNOWN - command not found (did you install raidutil?)" | ||
| 62 | exit -1 | ||
| 63 | elif test ${status} -ne 0 ; then | ||
| 64 | echo "WARNING - raidutil returned state $status" | ||
| 65 | exit 1 | ||
| 66 | fi | ||
| 67 | if echo ${raidutiloutput} | egrep On > /dev/null; then | ||
| 68 | echo RAID CRITICAL - RAID alarm detected! | ||
| 69 | exit 2 | ||
| 70 | else | ||
| 71 | echo raid ok | ||
| 72 | exit 0 | ||
| 73 | fi | ||
| 74 | ;; | ||
| 75 | esac | ||
