[BACK]Return to check_rsnapshot CVS log [TXT][DIR] Up to [local] / nagios / check_rsnapshot

Annotation of nagios/check_rsnapshot/check_rsnapshot, Revision 1.2

1.1       andrew      1: #!/bin/sh
1.2     ! andrew      2: # $Id: check_rsnapshot,v 1.1 2013/10/12 17:47:34 andrew Exp $
        !             3:
        !             4: # This relies on my run_rsnapshot wrapper that outputs things
        !             5: # via syslog, so really to custom to be much use.
1.1       andrew      6:
                      7: . /usr/local/libexec/nagios/utils.sh
                      8:
                      9: grep rsnapshot /var/log/messages | tail -25 | (
                     10:   STATUS=UNKNOWN
1.2     ! andrew     11:   LAST_STATUS=
1.1       andrew     12:   CRITICAL=
                     13:   UNKNOWN=
                     14:   while read line; do
1.2     ! andrew     15:        LAST_STATUS=`echo $line | cut -c 1-15`
        !            16:
1.1       andrew     17:     if [ "$line" != "${line% Starting snapshot*}" ]; then
                     18:       STATUS=STARTED
                     19:          CRITICAL=
1.2     ! andrew     20:          UNKNOWN=
1.1       andrew     21:     elif [ "$line" != "${line% Finished snapshot*}" ]; then
                     22:       if [ $STATUS != 'CRITICAL' ]; then
                     23:         STATUS=FINISHED
                     24:       fi
                     25:     elif [ "$line" != "${line% ERROR*}" ]; then
                     26:       STATUS=CRITICAL
1.2     ! andrew     27:       [ -n "$CRITICAL" ] && CRITICAL="$CRITICAL\n"
        !            28:          CRITICAL="$CRITICAL ${line#*]:}"
1.1       andrew     29:     elif [ $STATUS != CRITICAL ]; then
                     30:       STATUS=UNKNOWN
1.2     ! andrew     31:       [ -n "$UNKNOWN" ] && UNKNOWN="$UNKNOWN\n"
        !            32:          UNKNOWN="$UNKNOWN ${line#*]:}"
1.1       andrew     33:     fi
                     34:   done
                     35:
1.2     ! andrew     36:   [ $STATUS != UNKNOWN -a -n "$UNKNOWN" ] && UNKNOWN="\n$UNKNOWN"
        !            37:
1.1       andrew     38:   if [ $STATUS = "STARTED" -o $STATUS = "FINISHED" ]; then
1.2     ! andrew     39:        $ECHO "OK: $STATUS $LAST_STATUS $UNKNOWN"
1.1       andrew     40:        exit $STATE_OK
                     41:   elif [ $STATUS = UNKNOWN ]; then
1.2     ! andrew     42:        $ECHO "UNKNOWN: $LAST_STATUS $UNKNOWN"
1.1       andrew     43:        exit $STATE_UNKNOWN
                     44:   else
1.2     ! andrew     45:        $ECHO "CRITICAL: $LAST_STATUS $CRITICAL $UNKNOWN"
1.1       andrew     46:        exit $STATE_CRITICAL
                     47:   fi
                     48: )

FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>