Need I say that I always forget changing the tape and backups are filling the holding disk?
I've written a simple check, which reminds me changing the tape or warns that the holding disk is almust full.
This script is very simple and it assumes that there is only one slot.
Comments/improvements are welcome!
#!/bin/bash # Nagios plugin to check amanda server by amcheck # (c) ZsZs 2012 # put following lines to sudoers file: # Defaults:icinga !requiretty # icinga ALL=(amandabackup) NOPASSWD: /usr/sbin/amcheck STATE_OK=0 STATE_WARNING=1 STATE_CRITICAL=2 STATE_UNKNOWN=3 STATE_DEPENDENT=4 scr=${0##*/} # Default alarm levels warn=50 crit=25 usage() { cat <<EOF Usage: ${scr} [-w xx] [-c yy] -C amConf Check if the correct tape inserted into the tape device and there is enough space on the holding disk Options: -C Amanda config name -w Holding disk warning threshhold (GB) -c Holding disk critical threshhold (GB) -? Show this help EOF exit $STATE_UNKNOWN } [ -z "$1" ] && usage until [ -z "$1" ] # Until all command line parameters read up do case $1 in -w) warn=$2 shift 2;; -c) crit=$2 shift 2;; -C) conf=$2 shift 2;; *) usage esac done [ $crit -gt $warn ] && { echo "Critical treshold can not be greater than warning treshold!"; exit $STATE_UNKNOWN; } tmpfile=$(mktemp) sudo -u amandabackup /usr/sbin/amcheck $conf >$tmpfile slot=$(grep '^slot' $tmpfile) holdtmp=$(grep '^Holding' $tmpfile) holdtmp2=${holdtmp##*: } holding=${holdtmp2%%GB*} rm $tmpfile >dev/null if [[ "$slot" =~ 'is not' ]]; then echo "CRITICAL - $slot" exit $STATE_CRITICAL elif [ $holding -lt $crit ]; then echo "CRITICAL - Holding disk space: $holding GB free" exit $STATE_CRITICAL elif [ $holding -lt $warn ]; then echo "WARNING - Holding disk space: $holding GB free" exit $STATE_WARNING elif [[ "$slot" =~ 'still active' ]]; then echo "WARNING - $slot" exit $STATE_WARNING else echo "OK - $slot" exit $STATE_OK fi
No comments:
Post a Comment