
#!/bin/sh
# File	: mail_grafana-s.sh
# By	: MaartenDeBoer.nl, 180411
# Subject	: Script to mail Grafana grafs
#(0.2)	: Some Mod's
#set -x
PGM=`basename $0|cut -d\. -f1`
VER="0.2"
TMP="/tmp/${PGM}_$$.tmp"
OTMP="/tmp/${PGM}_$$.out"
LOG="${HOME}/log/${PGM}.log"
HOSTNAME=`hostname |cut -d\. -f1`
VARS=""
FROM=""
TO=""
SSH="/usr/bin/ssh -n"

FSOD_SRV="aoxnlfsd01"

GRAFANATOKEN="eyJrIjoiNml4djRtWk0yY2tYRWt6YVZOSjZtNTFBZTJxS3dIMHoiLCJuIjoibWFhcnRlbiIsImlkIjoyfQ=="
MAILTO="maarten.deboer@atos.net"
WIDTH="1600"
HEIGHT="900"
#DASHBOARD="nl-fsod-cluster-overview-report"
#DASHBOARD="nl-fsod-schenker-perf-problem"

DASHBOARD="nl-fsod-cluster-qos-report"
CLUSTER="nlnaf103"
VSERVER="nlnafsomi53"

# %s = epoch
#FROM=`date +%s --date='-7days'`
#TO=`date +%s --date='now'`
#FROM="-24h"
FROM="now-7d"
#FROM="now-365d"
TO="now"
DATI=`date +%Y-%m-%d_%H-%M-%S`
#FILENAME="${PGM}_${DATI}.png"
FILENAME="${DASHBOARD}_${DATI}.png"
#VARS="&var-Cluster=nlnaf100&var-Cluster=nlnaf101"
#VARS="&var-Cluster=nlnaf102&var-Cluster=nlnaf103"
if [ "${1}" != "" ]; then
  VARS="${1}"
fi

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

VARS="&var-Cluster=${CLUSTER}&var-SVM=${VSERVER}&var-Vol=All&var-Top=10"
URL="https://nlxmss04.atos-srv.net:3443/render/dashboard/db/${DASHBOARD}?from=${FROM}&to=${TO}&width=${WIDTH}&height=${HEIGHT}${VARS}"
echo "  Started curl with URL: ${URL}"|tee -a ${LOG}
curl -v --insecure -H "Authorization: Bearer ${GRAFANATOKEN}" -o ${OTMP} ${URL} 1> ${TMP} 2>&1

cp ${OTMP} /tmp/${FILENAME}
echo "`date` curl to ${URL} [${PGM} v${VER}] at ${HOSTNAME}"| mailx -a /tmp/${FILENAME} -a ${TMP} -s "Grafana dashboard report: ${DASHBOARD} (VARS=${VARS}) [${PGM} v${VER}]" ${MAILTO}
echo "  Mailed to ${MAILTO}"|tee -a ${LOG}


${SSH} ${FSOD_SRV} "ssh ${CLUSTER} \"vol show -vserver ${VSERVER}\" "|grep ${VSERVER}|awk '{print $2}'|egrep -v 'root|vol0ls'|while read VOL REST
do
  echo "  ${CLUSTER}/${VSERVER}:${VOL} ..."
  VARS="&var-Cluster=${CLUSTER}&var-SVM=${VSERVER}&var-Vol=${VOL}&var-Top=10"

  URL="https://nlxmss04.atos-srv.net:3443/render/dashboard/db/${DASHBOARD}?from=${FROM}&to=${TO}&width=${WIDTH}&height=${HEIGHT}${VARS}"
  echo "  Started curl with URL: ${URL}"|tee -a ${LOG}
  curl -v --insecure -H "Authorization: Bearer ${GRAFANATOKEN}" -o ${OTMP} ${URL} 1> ${TMP} 2>&1

  cp ${OTMP} /tmp/${FILENAME}
  echo "`date` curl to ${URL} [${PGM} v${VER}] at ${HOSTNAME}"| mailx -a /tmp/${FILENAME} -a ${TMP} -s "Grafana dashboard report: ${DASHBOARD} (VARS=${VARS}) [${PGM} v${VER}]" ${MAILTO}
  echo "  Mailed to ${MAILTO}"|tee -a ${LOG}

done  # while read VOL REST

rm ${TMP} ${OTMP} /tmp/${FILENAME}
echo "`date` ${PGM} v${VER} finished."|tee -a ${LOG}
exit 0

