mrsmit03
(usa Ubuntu)
Enviado em 21/06/2016 - 15:27h
Boa tarde pessoal, estou com o seguinte problema em meu nagios ao monitorar MOUNTPOINTS do exchange 2013,
Toda vez que uma MOUNTPOINT atinge (10% , 20%, 30%,40%,50% (valores redondos terminados em 0)) de espaço livre em disco , o nagios IGNORA o digito 0 (zero), e aparece da seguinte forma:
MOUNTPOINT: Free Space 7% CRITICAL.
Entretanto o espaço livre na realidade é 70%, se o valor cair para 69% ou subir para 71% ele volta a monitorar normalmente, alguém tem idéia do que pode ocorrer nesse caso?
abaixo a forma como estou puxando os dados do servidor:
STATE_OK=0
STATE_WARNING=1
STATE_CRITICAL=2
STATE_UNKNOWN=3
STATE_DEPENDENT=4
exitstatus=$STATE_WARNING #default
PWD_PATH=/usr/local/nagios/libexec
# 1 2 3 4 5 6 7 8
# echo "COMMAND -H <HOST> <NSCLIENT_PORT> <MOUNT_POINT> <TOTALSIZE_GB> <WARNING> <CRITICAL> <NSCLIENT_PASSWORD>"
if [ -z $6 ]; then
WARNING="75"
CRITICAL="90"
else
WARNING=$6
CRITICAL=$7
fi
case "$1" in
-H)
if [ $7 -ge $6 ]; then
echo "WARNING VALUE CANT BE HIGHER THAN CRITICAL VALUE"
echo ""
echo "COMMAND -H <HOST> <NSCLIENT_PORT> <MOUNT_POINT> <SIZE_GB> <WARNING> <CRITICAL> <NSCLIENT_PASSWORD>"
exit $STATE_UNKNOWN
fi
TOTALMEGABYTES=$(echo "scale=0;($5*1024)" | bc -l )
FREEMEMEGABYTES=`$PWD_PATH/check_nt -H $2 -p $3 -s $8 -v COUNTER -l "\\LogicalDisk($4)\\Free Megabytes"`
FREEMEMEGABYTES=$(echo "scale=0;($FREEMEMEGABYTES)/1" | bc -l )
PERCENTFREE=$(($FREEMEMEGABYTES*100/$TOTALMEGABYTES))
if [ -z $(echo "scale=0;$FREEMEMEGABYTES" | bc -l ) ]; then
echo "NSCLIENT cant connect, UNKNOWN values"
STATE_SWP=$STATE_UNKNOWN
else
CALCULOPERCENT=$(echo "scale=0;(($FREEMEMEGABYTES*100)/$TOTALMEGABYTES)" | bc -l)
echo "$PERCENTFREE"
if [ $(echo "scale=0;$PERCENTFREE" '<=' "$CALCULOPERCENT" | bc -l ) -a $(echo "scale=0;($CALCULOPERCENT)" | bc -l) '<' 100 ]; then
PERCENTFREE=$CALCULOPERCENT
echo "$PERCENTFREE"
fi
USEDDISK=$(echo "scale=0;(($TOTALMEGABYTES)-($FREEMEMEGABYTES))" | bc -l)
WARNINGDISK=$(echo "scale=0;(($TOTALMEGABYTES)-((($TOTALMEGABYTES)/100)*$WARNING))" | bc -l )
CRITICALDISK=$(echo "scale=0;($TOTALMEGABYTES-(($TOTALMEGABYTES/100)*$CRITICAL))" | bc -l)
echo "Mount Point: $PERCENTFREE % free | $4=$USEDDISK;$WARNINGDISK;$CRITICALDISK"
if [ $PERCENTFREE -le $CRITICAL ]; then
STATE_SWP=$STATE_CRITICAL
else
if [ $PERCENTFREE -le $WARNING ]; then
STATE_SWP=$STATE_WARNING
else
STATE_SWP=$STATE_OK
fi
fi
fi
;;
*)
echo "COMMAND -H <HOST> <NSCLIENT_PORT> <MOUNT_POINT> <TOTALSIZE_GB> <WARNING> <CRITICAL> <NSCLIENT_PASSWORD>"
STATE_SWP=$STATE_UNKNOWN
;;
esac
exit $STATE_SWP