
#!/bin/ksh
# File	: upl_rpt_sm-sv_cnt_to_graphana.ksh
# By	: Maarten.deBoer@Atso.net, 160212
# Subject	: Script to upload data from rpt_sm-sv_cnt-sv_<date>.csv into Graphana
# Data files: rpt_sm-sv_cnt-sv_2016-02-11.csv
#set -x
PGM="`basename $0|cut -d\. -f1`"
VER="0.1"
TMP="/tmp/${PGM}.$$"
GRAPHITESRV="10.192.109.224 2003"
GRAPHITE=""
NC="${HOME}/bin/nc"

DATEYMD="`date +%Y-%m-%d`"

# Date as input
if [ "${1}" != "" ]; then
  DATEYMD="${1}"
fi
SVFILE="$HOME/data/out/rpt_sm-sv_cnt-sv_${DATEYMD}.csv"
SMFILE="$HOME/data/out/rpt_sm-sv_cnt-sm_${DATEYMD}.csv"
CPUFILE="$HOME/data/out/rpt_sm-sv_cnt-cpu_${DATEYMD}.csv"

echo "DATEYMD=${DATEYMD}"
sleep 1

SPLITHEADER()
{
  FNR=0
  cp /dev/null ${TMP}
  for F in "${@}"
  do
    FNR=$((FNR + 1))
    echo " ${FNR}=${F}" >> ${TMP}
  done  # FOR
}

SPLITLINE()
{
  FNR=0
  for F in "${@}"
  do
    FNR=$((FNR + 1))
    NAME=`grep " ${FNR}=" ${TMP}|cut -d\= -f2`
#echo "${F}"
    if [ ${FNR} -eq 1 ]; then
      DATE="${F}"
    fi
    if [ ${FNR} -eq 2 ]; then
      TIME="${F}"
    fi
    if [ "${DATE}" != "" ] && [ "${TIME}" != "" ]; then
#      echo "${DATE} ${TIME} >"
      DATE_S=`date +%s -d"${DATE} ${TIME}"`
      DATE=""
      TIME=""
    fi
    if [ ${FNR} -gt 2 ]; then
      echo "filer.perf.nl.${NAME}.${TYPE} ${F} ${DATE_S}"| ${NC} ${GRAPHITESRV}
      EC=${?}
#      echo -n ${EC}
#      echo "> ${NAME}.${TYPE} ${F} ${DATE_S} = ${EC}"
    fi
  done  # FOR
}


LINENR=0
if [ -f ${SVFILE} ]; then
  TYPE="snapvault.cnt"
  echo "${TYPE}"
  cat ${SVFILE}|while read LINE
  do
    echo -n "."
    LINENR=$((LINENR + 1))
    ANSW="`echo ${LINE}|grep DateTime`"
# Change all ; into ' ' (space
    NEWLINE="`echo ${LINE}|sed 's/\;/ /g'|sed 's/DateTime/Date Time/'`"
    if [ "${ANSW}" != "" ]; then
# Header found
      SPLITHEADER ${NEWLINE}
    else
      SPLITLINE ${NEWLINE}
    fi
  done  # read LINE
fi  # -f ${SVFILE}


LINENR=0
if [ -f ${SMFILE} ]; then
  TYPE="snapmirror.cnt"
  echo "${TYPE}"
  cat ${SMFILE}|while read LINE
  do
    echo -n "."
    LINENR=$((LINENR + 1))
    ANSW="`echo ${LINE}|grep DateTime`"
# Change all ; into ' ' (space
    NEWLINE="`echo ${LINE}|sed 's/\;/ /g'|sed 's/DateTime/Date Time/'`"
    if [ "${ANSW}" != "" ]; then
# Header found
      SPLITHEADER ${NEWLINE}
    else
      SPLITLINE ${NEWLINE}
    fi
  done  # read LINE
fi  # -f ${SMFILE}


LINENR=0
if [ -f ${CPUFILE} ]; then
  TYPE="cpu.perc"
  echo "${TYPE}"
  cat ${CPUFILE}|while read LINE
  do
    echo -n "."
    LINENR=$((LINENR + 1))
    ANSW="`echo ${LINE}|grep DateTime`"
# Change all ; into ' ' (space
    NEWLINE="`echo ${LINE}|sed 's/\;/ /g'|sed 's/\%//g'|sed 's/DateTime/Date Time/'`"
    if [ "${ANSW}" != "" ]; then
# Header found
      SPLITHEADER ${NEWLINE}
    else
      SPLITLINE ${NEWLINE}
    fi
  done  # read LINE
fi  # -f ${CPUFILE}

echo "Ready"


rm ${TMP}
exit 0

