#!/bin/bash # SCript to check the Virtual Volumes occupation # Script by To Lai Dien # modify for performance # date: 18-07-2016 if [ "$1" == "" ] || [ $2 == "" ] || [ $3 == "" ] then echo Invalid usage : check_3par 3PAR Username/passwordfile exit 3 fi 3PAR=$1 USERNAME=$2 COMMAND=$3 TMPDIR=/tmp CRITICAL=90 WARNING=80 # To connect using SSH. uncomment the following line CONNECTCOMMAND="ssh $USERNAME@$3PAR" # Note : connecting using SSH requires setting public key authentication $CONNECTCOMMAND showvv -csvtable > $TMPDIR/3par_$COMMAND.$3PAR.out if [ $? -gt 0 ] then echo Could not connect to 3PAR $3PAR exit 3 fi VSIZE=`cat ${TMPDIR}/3par_${COMMAND}.${3PAR}.out | grep ${COMMAND} | cut -d, -f12` VSIZE_B=`expr \( $VSIZE \* 1024 \* 1024 \)` USED=`cat ${TMPDIR}/3par_${COMMAND}.${3PAR}.out | grep ${COMMAND} | cut -d, -f11` USED_B=`expr \( $USED \* 1024 \* 1024 \)` FREE=`expr \( $VSIZE \- $USED \)` FREE_B=`expr \( $FREE \* 1024 \* 1024 \)` FREEPERCENT=`expr 100 \- \( \( $USED \* 100 \) \/ $VSIZE \)` USEDPERCENT=`expr 100 \- \( $FREEPERCENT \)` WARNCRAW=$(($VSIZE*$WARNING/100)) WARNCRAW_B=`expr \( $WARNCRAW \* 1024 \* 1024 \)` CRITCCRAW=$(($VSIZE*$CRITICAL/100)) CRITCCRAW_B=`expr \( $CRITCCRAW \* 1024 \* 1024 \)` if [ $USED_B -ge $CRITCCRAW_B ] then echo CRITICAL! TOTAL: $VSIZE\Mb\ USED: $USED\Mb\ \($USED-PERCENT%\) FREE: $FREE\Mb\ \($FREE-PERCENT\)\|TotSize=$VSIZE_B Used=$USED_B,$WARNCRAW_B,$CRITCCRAW_B rm -f $TMPDIR/3par_$COMMAND.$3PAR.out exit 2 else if [ $USED_B -ge $WARNCRAW_B ] then echo WARNING! TOTAL: $VSIZE\Mb\ USED: $USED\Mb\ \($USED-PERCENT%\) FREE: $FREE\Mb\ \($FREE-PERCENT\)\|TotSize=$VSIZE_B Used=$USED_B,$WARNCRAW_B,$CRITCCRAW_B rm -f $TMPDIR/3par_$COMMAND.$3PAR.out exit 1 else echo OK : TOTAL: $VSIZE\Mb\ USED: $USED\Mb\ \($USEDPERCENT%\) FREE: $FREE\Mb\ \($FREEPERCENT%\)\|TotSize=$VSIZE_B Used=$USED_B,$WARNCRAW_B,$CRITCCRAW_B rm -f $TMPDIR/3par_$COMMAND.$3PAR.out exit 0 fi fi