1 | #!/bin/bash |
---|
2 | # SYNOPSIS |
---|
3 | # check_spma |
---|
4 | # |
---|
5 | # DESCRIPTION |
---|
6 | # This NAGIOS plugin checks whether the last run spma client front |
---|
7 | # end for invoking components returned an error or not |
---|
8 | # |
---|
9 | # AUTHOR |
---|
10 | # ctheodos@grid.auth.gr |
---|
11 | |
---|
12 | OK=0 |
---|
13 | WARN=1 |
---|
14 | CRITICAL=2 |
---|
15 | UNKNOWN=3 |
---|
16 | PATH="/bin:/sbin:/usr/bin:/usr/sbin" |
---|
17 | |
---|
18 | MY_TMP_FILE=`mktemp` |
---|
19 | |
---|
20 | (for i in `seq 10 -1 1`; do zcat /var/log/spma.log.$i.gz 2> /dev/null; done; cat /var/log/spma.log) > $MY_TMP_FILE |
---|
21 | |
---|
22 | last_summary="" |
---|
23 | STATUS=`cat $MY_TMP_FILE| tail -1 |awk '{print $2}'|awk '{gsub(/[[:punct:]]/,"")}1'` |
---|
24 | |
---|
25 | case $STATUS in |
---|
26 | 'OK') |
---|
27 | RESULT=$OK ;; |
---|
28 | 'INFO') |
---|
29 | RESULT=$WARN ;; |
---|
30 | 'ERROR') |
---|
31 | RESULT=$CRITICAL ;; |
---|
32 | *) RESULT=$UNKNOWN ;; |
---|
33 | esac |
---|
34 | |
---|
35 | echo -en `tail -n 1 $MY_TMP_FILE`"\n" |
---|
36 | |
---|
37 | tac $MY_TMP_FILE| awk '{ printf "%sNEWLINE", $0 }'|awk -F'-----------------------------------------------------NEWLINE' '{print $1}'|sed "s#NEWLINE#\n#g" |
---|
38 | rm -f $MY_TMP_FILE |
---|
39 | exit $RESULT |
---|