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