###############################################################################
###############################################################################
# scambio chiavi nagios - user remoto
# Setting environment
# Note:
# codici di ritorno per Nagios:
# 0 = OK
# 1 = WARNING
# 2 = CRITICAL
# 3 = UNKNOWN
PROGNAME=`basename $0`
PROGPATH=`echo $0 | sed -e 's,[\\/][^\\/][^\\/]*$,,'`
REVISION=`echo '$Revision: 1.0 $' | sed -e 's/[^0-9.]//g'`
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
print_usage() {
echo "Usage:"
echo " $PROGNAME "
echo "specify HP when HP-UX os"
exit 3
}
if [ $# -lt 3 ] || [ $# -gt 5 ];
then print_usage;
fi
WAR_LIMIT=$2
CRIT_LIMIT=$3
if [ $# -eq 4 ] && [ ! "$4" == "HP" ]
then
FILESYSTEM="$4"
DF="df -k"
elif [ $# -eq 5 ];
then
# caso HP con grep FS
FILESYSTEM="$5"
DF="bdf"
elif [ $# -eq 4 ] && [ "$4" == "HP" ]
# altre
then
FILESYSTEM=$(ssh -l user $1 bdf |awk '{ if ( $6 ~ /^\// ) {print $6 } else { print $5 }}'|egrep -v "cdrom|run|proc|mnttab|used|mnt")
DF="bdf"
else
# FILESYSTEM=$(ssh -l user $1 df -k|awk '{print $6}'|egrep -v "/dev/fd|Mounted|Disponib|cdrom|run|proc|mnttab|mnt")
FILESYSTEM=$(ssh -l user $1 df -k|awk '{ if ( $6 ~ /^\// ) {print $6 } else { print $5 }} '|egrep -v "/dev/fd|Mounted|Disponib|cdrom|run| proc|mnttab|mnt|shm|Use")
DF="df -k"
fi
for FS in $FILESYSTEM
do
OCCUPAZIONE=$(ssh -l user $1 $DF $FS | awk '{if ( $4 ~ /%/ ) {print $4 } else { print $5 } }' |tail -1| tr -d %)
if [ "$OCCUPAZIONE" -ge $3 ]
then
errmsg="$errmsg CRITICAL: $FS ha raggiunto il livello $OCCUPAZIONE% di occupazione"
critflag="1"
elif [ "$OCCUPAZIONE" -ge $2 ]
then
errmsg="$errmsg WARNING: $FS ha raggiunto il livello $OCCUPAZIONE% di occupazione"
warnflag="1"
fi
done
if [ "$critflag" == "1" ]; then
echo -e $errmsg
exit 2
elif [ "$warnflag" == "1" ]; then
echo -e $errmsg
exit 1
else
echo "File system is OK"
exit 0
fi