
#!/bin/sh
# File	: chk_aip-env.sh
# By	: Maarten.deBoer@Atos.net, 170127
# Subject	: Script to check the AIP env and mail 
#(0.2)	: Mod. the mailing & added ASC
#(0.3)	: Mod. vol >= 90%
#(0.4)	: Add autosizing
#(0.5)	: Mod mail-hdr
PGM="`basename $0|cut -d\. -f1`"
VER="0.5"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"
SSH="/usr/bin/ssh -n"
ASC="/tmp/${PGM}.asc"
HOSTNAME="`hostname|cut -d\. -f1`"

FILERS="${HOME}/etc/filers_aip"
CLUSTERS="${HOME}/etc/clusters_aip"
MAILTO="maarten.deboer@atos.net"
MAIL=""

USAGE()
{
  echo "Usage: ${PGM} [<options>]"
  echo "  Version: ${VERSION}"
  echo "  options     :"
  echo "    -h|--help : this Help"
  echo "    -m|--mail : do send Mail"
  echo "    --mailto  : change MAILTO address & do send mail (${MAILTO})"
  echo "    -x        : set -x"
  echo "    -V        : show Version"
}
## MAIN
# Check options
while [ ${#} -ge 1 ]
  do
  case ${1} in
    -h | --help) USAGE; exit 1 ;;
    -m | --mail) MAIL=1 ;;
    -V) echo "${PGM}: v${VER}"; exit 3 ;;
    -x)  set -x ;;
    --mailto) MAILTO=${2}; MAIL=1; shift ;;
    *)  echo "Option ${1} not known. Exiting..."; echo; USAGE; exit 1 ;;
  esac
    shift
done

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}

if [ ! -f ${FILERS} ] || [ ! -f ${CLUSTERS} ]; then
  echo "  NO ${FILERS} or NO ${CLUSTERS} found. Exiting ..."
  exit 3
fi

for FILER in `cat ${FILERS}|grep -v ^\#|awk -F\; '{print $1}'`
do
  echo "${FILER}:" |tee -a ${TMP}
  ${SSH} ${FILER} uptime|cut -d\, -f1|tee -a ${TMP}
  echo "  vol >= 90%:"|tee -a ${TMP}
  ${SSH} ${FILER} df -g| egrep "9[0-9]%|100%" |tee -a ${TMP}
done  # for FILER

for CLUSTER in `cat ${CLUSTERS}|grep -v ^\#|awk -F\; '{print $1}'`
do
  echo "${CLUSTER}:"|tee -a ${TMP}
  ${SSH} ${CLUSTER} 'system node show -fields uptime'|awk '{print $1,$2,$3}'|grep nlnaf|tee -a ${TMP}
  echo "  vol >= 90%:"|tee -a ${TMP}
  ${SSH} ${CLUSTER} 'vol show -field percent-used'|egrep "9[0-9]%|100%"|awk '{print $2}'|while read VOLUME REST
  do
    echo "${CLUSTER}|${VOLUME}|..."
    ${SSH} ${CLUSTER} "vol show ${VOLUME} -field autosize-mode,autosize-grow-threshold-percent,autosize-shrink-threshold-percent,used,Size,Aggregate,percent-used,max-autosize,min-autosize,autosize-mode"|tee -a ${TMP} 
  done  # VOLUME
done  # for FILER

if [ ${MAIL} ]; then
  cp ${TMP} ${ASC}
  echo "More info; see attached ASCII-file (best read in Wordpad). `date` ${PGM} v${VER}"| mailx -a ${ASC} -s "@${HOSTNAME}: Check AIP env [${PGM} v${VER}]" ${MAILTO}
  echo "  Mailed to ${MAILTO}"|tee -a ${LOG}
  rm ${ASC}
fi

rm ${TMP}
exit 0

