
#!/bin/sh
# File	: upd_dashboard.sh
# By	: Maarten.deBoer@Atos.net, 150421, 150817
# Subject	: Script to process global overwiew
#(0.2)	: Add netapp
#(0.3)	: Add cp @Overview
#(0.4)	: Add date of file
#(0.5)	: Add DFM-servers
#(0.6)	: Add failed disks
#(0.7)	: Update (rename upd_glob.sh)
#(0.8)	: Added if [ -d  's & renamed upd_dashboard.sh
#(0.9)	: Mod. uptime (ls -1d * ...)
#(0.10)	: Add list last incomming
#(0.11) : Change some layout
#(0.12)	: Changed layout
#(0.13)	: Upd Last
#(0.14)	: Mod.
#(0.15) : Failed disks
#(0.16)	: Add DASHBOARDASUPCOL
#(0.17)	: Add Aggr-usage
#(0.18)	: Mod; color uptime
#(0.19),160711	: Added totalaggrtb
#(0.20),160920	: Added grand TBs
#(0.21),161004	: Add % of filers
#(0.22),161228	: Add color @disk-failures, green -> lightgreen
#(0.23),721230	: Added netapp-filer-list_2016-09-06.csv
#(0.24),170419	: Mod. Cap.mgt colors + Legenda + DASHBOARDASUPCOL=""
#(0.25),170509	: Add %, if mods, Added CSV
#(0.26),170510	: Add --mail & MAIL
#(0.27),171106	: Update ASUP part
#(0.28),171107	: update ASUP part, Models count DB:*.asc files
#(0.29).171228	: Update NetApp part
#(0.30),180326	: Added filer-status (started in NL)
#(0.31),180528	: Dashboard: Rem. DFM-servers, add default mailto
#(0.32),180530	: header, grep DASHBOARDASUPCOL ${DASHBOARDFILE}|awk -F\= '{print $2}'|tail -1
#(0.33),180531	: Mod @ default.mailto " " -> " ; " 
#(0.34),200311	: Small update
#(0.35),200409	: Small update
#(0.36),200415	: Added countries at the end
#(0.37),200415	: Mod. LOG & added .rc
#(0.38),200415	: Added AFSPDIR & AFSPWWWDIR
#(0.39),200416	: Added H1-titel
#(0.40),200416	: Upd ASUP-dir-html
#(0.41),200501	: Upd with AtoS.png
#(0.42),200622	: Mod. cellspacing='0'
#(0.43),220824	: Mod. NOT maintained
PGM="`basename $0|cut -d\. -f1`"
VER="0.43"
TMP="${PGM}.$$"
#LOG="/appl/mdr/afsp/glob/log/${PGM}.log"
LOG="${HOME}/afsp/glob/log/${PGM}.log"

BASEDIR="`pwd | sed 's/scripts//'|sed 's/bin//'`"
#OUT="${BASEDIR}/html/overview.html"
AFSPDIR="/appl/mdr/mdrglob/afsp/"
AFSPWWWDIR="/appl/mdr/www/afsp/"
PAGE="/appl/mdr/www/afsp/index.html"
DATE="`date +%Y-%m-%d`"
CSV="${BASEDIR}/data/afsp-dashboard_${DATE}.csv"
CSVMAILTO="maarten.deboer@atos.net"
MAIL="" 
RCFILE="${BASEDIR}/etc/${PGM}.rc"
H1TITLE="Atos Filer Status Portal (AFSP)"

if [ -f ${RCFILE} ]; then
  echo "  RCFILE (${RCFILE}) found. Reading it..."|tee -a ${LOG}
  . ${RCFILE}
fi

echo "`date` ${PGM} v${VER} started."|tee -a ${LOG}
echo "BASEDIR=${BASEDIR}"
echo "CSV=${CSV}"
echo "CSVMAILTO=${CSVMAILTO}"
echo "PAGE=${PAGE}"
sleep 1

cp /dev/null ${CSV}

if [ "${1}" = "--mail" ]; then
  MAIL=1
fi

echo "<!DOCTYPE html>" > ${PAGE}
echo "<HTML>" >> ${PAGE}
echo "<HEAD>" >> ${PAGE}
echo "<META charset='UTF-8'>" >> ${PAGE}
echo "<META content=Maarten de Boer name=AUTHOR>" >> ${PAGE}
echo "<link rel='icon' href='atos-fav.ico' type='image/png'> " >> ${PAGE}
echo "<TITLE> AFSP:dashboard </TITLE>" >> ${PAGE}
echo "<basefont face='verdana'>" >> ${PAGE}
echo "</HEAD>" >> ${PAGE}

echo "<BODY aLink=blue bgColor=#D3D0D3 link=blue text=#000000 vLink=blue>" >> ${PAGE}

# --- Header

echo "<TABLE BORDER=0 WIDTH='100%' cellspacing='0'>" >> ${PAGE}

echo "<TR HEIGHT=40px>" >> ${PAGE}
echo "  <TD bgColor=#0066A1>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='6'> <B> ${H1TITLE} </B> <BR> </FONT>" >> ${PAGE}
echo "    <FONT COLOR=red face='verdana' size='7'><CENTER> <B>NOT maintained anymore</B> <BR> </FONT>" >> ${PAGE}
echo "    <FONT COLOR=red face='verdana' size='4'><CENTER> <B>Because the other way (HTTPS) of delivery is not supported by AFSP (old way is SMTP).</B> <BR> </FONT>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='4'> <B>dashboard </FONT>" >> ${PAGE}
echo "    <BR>" >> ${PAGE}
#echo "    <DIV align=right>" >> ${PAGE}
#echo "    <FONT COLOR=white face='verdana' size='-3'> For internal use. (c) Atos BTN `date +%Y` </B> </FONT>" >> ${PAGE}
echo "    </DIV>" >> ${PAGE}
echo "  </TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}


# ----------- MAIN

echo "<TABLE BORDER=1 cellspacing='0'>" >> ${PAGE}

echo "  <TR>" >> ${PAGE}
echo "    <TD align='right'><FONT COLOR=black face='verdana' size='3'> Country -></FONT></TD>" >> ${PAGE}
echo -n "COUNTRY;" >> ${CSV}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> global </TD>" >> ${PAGE}
echo -n ";" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -f ${AFSPWWWDIR}/${COUNTRY}/index.html ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'><A HREF=\"${COUNTRY}/index.html\">${COUNTRY}</A></FONT></TD>" >> ${PAGE}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'>${COUNTRY}</FONT></TD>" >> ${PAGE}
  fi
# Add to CSV
  echo -n "${COUNTRY};" >> ${CSV}
done  # for
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'>Total</FONT></TD>" >> ${PAGE}

echo "  </TR>" >> ${PAGE}
echo "Total;" >> ${CSV}


# From the filers
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='1'><B>From the filers</B></FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
echo -n "ASUPs;" >> ${CSV}
# ASUPs
TTLCNT=0
#FILECNT="`cat /appl/mdr/mdrglob/afsp/asup/data/asup2country.csv|grep -v ^#|sort -u|wc -l`"
FILECNT=`ls -1 ${AFSPDIR}/asup/data/database/[_0-9]*.asc|wc -l`
TTLASUPS=${FILECNT}
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> ASUPs # </FONT></TD>" >> ${PAGE}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'><A HREF=\"asup/asup-status.html\">${FILECNT}</A></FONT></TD>" >> ${PAGE}
echo -n ";" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  CNT=""
  if [ -f ${AFSPDIR}/asup/data/asup2country.csv ]; then
    CNT="`cat ${AFSPDIR}/asup/data/asup2country.csv|grep -v ^#|grep \"${COUNTRY};\"|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi  # -f
  echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'>${CNT}</FONT></TD>" >> ${PAGE}
  echo -n "${CNT};" >> ${CSV}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
echo "${TTLCNT};" >> ${CSV}
TTLCNTCOUNTRIES=${TTLCNT}

# ASUPs %
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> ASUPs % </FONT></TD>" >> ${PAGE} 
ASUPDIFF=`expr ${TTLASUPS} - ${TTLCNTCOUNTRIES} `
echo "    <TD> <FONT COLOR=black face='verdana' size='-3'> ${TTLASUPS} - ${TTLCNTCOUNTRIES} = ${ASUPDIFF} </FONT></TD>" >> ${PAGE}
echo -n "ASUPs % ; ;" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
  do
    CNT="`cat ${AFSPDIR}/asup/data/asup2country.csv|grep -v ^#|grep \"${COUNTRY};\"|wc -l`"
    if [ ${CNT} -gt 0 ]; then
      PERC=`expr ${CNT} \* 100 / ${TTLCNTCOUNTRIES}`
    else
      PERC=0
    fi  # CNT
    if [ ${CNT} -gt 0 ]; then
      echo "    <TD align='center'><FONT COLOR=black face='verdana' size='0'> ${PERC}% (${CNT}/${TTLCNTCOUNTRIES}) </A> </FONT></TD>" >> ${PAGE} 
    else
      echo "    <TD> </TD>" >> ${PAGE} 
    fi  # CNT
# Add to CSV
    echo -n "${PERC} %;" >> ${CSV}
  done  # COUNTRY
echo "  </TR>" >> ${PAGE}
echo "" >> ${CSV}

# (Filer-)Status
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Status</FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -f ${AFSPDIR}/${COUNTRY}/filer-status.html ]; then
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}\filer-status.html\">S</A> </FONT></TD>" >> ${PAGE}
  else
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'>  </FONT></TD>" >> ${PAGE}
  fi
done  # for
echo "  </TR>" >> ${PAGE}

# From AFSP
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='1'><B>From AFSP</B></FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}


# Overview
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Overview</FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -f ${AFSPDIR}/${COUNTRY}-overview.html ]; then
#    cp /appl/mdr/www/afsp/${COUNTRY}/overview.html /appl/mdr/www/afsp/${COUNTRY}-overview.html 
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}-overview.html\">O</A> </FONT></TD>" >> ${PAGE}
  else
    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'>  </FONT></TD>" >> ${PAGE}
  fi
done  # for
echo "  </TR>" >> ${PAGE}


# Models
TTLCNT=0
MODDATE=""
echo "  <TR>" >> ${PAGE}

echo "    <TD><FONT COLOR=black face='verdana' size='-3'>LifeCylce mgt (models+version)</FONT></TD>" >> ${PAGE}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='1'><A HREF=\"https://msssyscol01.atos-srv.net/SAN/GLOB/Global_AFSP_Dashboard_Layer203.html\">G.LCM NetApp</A></FONT></TD>" >> ${PAGE}
echo -n "Filer models; ;" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  CNT=0
  DASHBOARDASUPCOL="lightgrey"
  DASHBOARDFILE="${AFSPDIR}/${COUNTRY}/data/dashboard.asc"
  if [ -f ${DASHBOARDFILE} ]; then
    DASHBOARDASUPCOL="`grep DASHBOARDASUPCOL ${DASHBOARDFILE}|awk -F\= '{print $2}'|tail -1`"
  else
    DASHBOARDASUPCOL="grey"
  fi
  if [ "${DASHBOARDASUPCOL}" = "" ]; then
    DASHBOARDASUPCOL="lightgrey"
  fi
##  echo "${COUNTRY}: DASHBOARDASUPCOL=${DASHBOARDASUPCOL}|"
  if [ -d ${AFSPDIR}/${COUNTRY}/data/database ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/database
    CNT="`ls -1 [_0-9]*.asc|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
  fi
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD BGCOLOR=${DASHBOARDASUPCOL} align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/models.html\">${CNT}</A> </FONT></TD>" >> ${PAGE}
  else
#    echo "    <TD BGCOLOR=${DASHBOARDASUPCOL} align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'></FONT></TD>" >> ${PAGE}
  fi  # ${COUNTRY}
  echo -n "${CNT};" >> ${CSV}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "${TTLCNT}" >> ${CSV}
TTLCNTMODELS=${TTLCNT}
echo "  </TR>" >> ${PAGE}

# Models %
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> Models % </FONT></TD>" >> ${PAGE} 
echo "    <TD> </TD>" >> ${PAGE}
echo -n "Filer model % ; ;" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
  do
    if [ -d ${AFSPDIR}/${COUNTRY}/data/database ]; then
      cd ${AFSPDIR}/${COUNTRY}/data/database
      CNT="`ls -1 [_0-9]*.asc|wc -l`"
      if [ ${CNT} -gt 0 ]; then
        PERC=`expr ${CNT} \* 100 / ${TTLCNTMODELS}`
      else
        PERC=0
	  fi
    fi
    if [ ${CNT} -gt 0 ]; then
      echo "    <TD align='center'><FONT COLOR=black face='verdana' size='0'> ${PERC}% (${CNT}/${TTLCNTMODELS}) </A> </FONT></TD>" >> ${PAGE} 
    else
      echo "    <TD> </TD>" >> ${PAGE} 
    fi  # CNT
# Add to CSV
    echo -n "${PERC} %;" >> ${CSV}
  done  # COUNTRY
echo "  </TR>" >> ${PAGE}
echo "" >> ${CSV}


# Versions
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Release mgt (os-versions)</FONT></TD>" >> ${PAGE} 
echo "    <TD> </TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  CNT=0
  if [ -d ${AFSPDIR}/${COUNTRY}/data/versions ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/versions
    LAST="`ls -1|tail -1`"
  fi
  if [ -d ${AFSPDIR}/${COUNTRY}/data/versions/${LAST} ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/versions/${LAST}
    LSCNT=`ls -1 *.csv|wc -l`
    if [ ${LSCNT} -gt 0 ]; then
      CNT="`cat *.csv|grep -v ^#|awk -F\; '{print $1}'|sort -u|wc -l`"
      TTLCNT=`expr ${TTLCNT} + ${CNT}`
    fi  # LSCNT
  fi
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/versions.html\">${CNT}</A> </FONT></TD>" >> ${PAGE} 
  else
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'></FONT></TD>" >> ${PAGE}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
TTLCNT=0
echo "${TTLCNT};" >> ${CSV}

# Patches
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Patch mgt
(disk-firmware)</FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
echo -n "Patches ; ;" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  CNT=0
  if [ -d ${AFSPDIR}/${COUNTRY}/data/firmware ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/firmware
    LSCNT=`ls -1 *.csv|wc -l`
    if [ ${LSCNT} -gt 0 ]; then
      CNT="`cat *.csv|grep -v ^#|sort -u|wc -l`"
      TTLCNT=`expr ${TTLCNT} + ${CNT}`
    fi
  fi 
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/disk-firmware.html\">${CNT}</A> </FONT></TD>" >> ${PAGE} 
  else
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'></FONT></TD>" >> ${PAGE}
  fi  # ${COUNTRY}
  echo -n "${CNT};" >> ${CSV}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
echo "${TTLCNT};" >> ${CSV}

# Uptime
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Availability mgt (uptime)</FONT></TD>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'># filers <BR> Lowest uptime</TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -d ${AFSPDIR}/${COUNTRY}/data/uptime ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/uptime
    LAST="`ls -1d 2*|tail -1`"
  fi
  CNT=0
  if [ -d ${AFSPDIR}/${COUNTRY}/data/uptime/${LAST} ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/uptime/${LAST}
    CNT="`cat *.csv|grep -v ^#|awk -F\; '{print $1}'|sort -u|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
    LOWEST_UPTIME=0
    LOWEST_UPTIME="`cat ${AFSPDIR}/${COUNTRY}/data/uptime/${LAST}/*.csv|cut -d\; -f2|cut -d' ' -f1|sort -un|grep [0-9]|head -1`"
    AVAILBGCOL=""
    if [ "${LOWEST_UPTIME}" != "" ]; then
      if [ ${LOWEST_UPTIME} -le 365 ]; then
        AVAILBGCOL="lightgreen"
      fi
      if [ ${LOWEST_UPTIME} -lt 28 ]; then
        AVAILBGCOL="yellow"
      fi
      if [ ${LOWEST_UPTIME} -lt 21 ]; then
        AVAILBGCOL="orange"
      fi
      if [ ${LOWEST_UPTIME} -lt 14 ]; then
        AVAILBGCOL="red"
      fi
      if [ ${LOWEST_UPTIME} -gt 365 ]; then
        AVAILBGCOL="yellow"
      fi
      if [ ${LOWEST_UPTIME} -gt 730 ]; then
        AVAILBGCOL="orange"
      fi
    fi  # !"" LOWEST_UPTIME
  fi  # -d
  if [ ${CNT} -gt 0 ]; then
    echo "    <TD align='center' BGCOLOR=${AVAILBGCOL} ><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/uptime.html\">${CNT}</A> <BR>${LOWEST_UPTIME}</FONT></TD>" >> ${PAGE} 
  else
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'>${CNT}</FONT></TD>" >> ${PAGE}
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'></FONT></TD>" >> ${PAGE}
  fi  # ${COUNTRY}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}

# Aggr-usage (Cap.mgt)
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Cap. mgt (max. aggr usage) <BR>Total Aggr. TBs </FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
echo -n "Total Aggr [TB]; ;" >>  ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  cd ${AFSPDIR}/${COUNTRY}/data/
  if [ -f dashboard_highestperc.asc ]; then
    PERC="`cat dashboard_highestperc.asc`"
  else
    PERC=0
  fi
  if [ -f dashboard_totalaggrtb.asc ]; then
    TOTAL="`cat dashboard_totalaggrtb.asc`"
  else 
    TOTAL=0
  fi 
  if [ ${TOTAL} -gt 0 ]; then
    TTLCNT=`expr ${TTLCNT} + ${TOTAL}`
  fi

echo "- Aggr ${COUNTRY} = ${TOTAL} / ${TTLCNT} "
  echo -n "${TOTAL};" >> ${CSV}

  BGCOLOR="lightgreen"
  if [ ${PERC} -gt 0 ]; then
    if [ ${PERC} -ge 90 ]; then
      BGCOLOR="yellow"
    fi
    if [ ${PERC} -ge 95 ]; then
      BGCOLOR="orange"
    fi
    if [ ${PERC} -ge 100 ]; then
      BGCOLOR="red"
    fi

    echo "    <TD align='center' BGCOLOR=${BGCOLOR}><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/aggr-usage.html\">${PERC}%</A> <BR>" >> ${PAGE}
	if [ ${TOTAL} -gt 0 ]; then
	  echo "${TOTAL}TB " >> ${PAGE}``
	fi
	echo "</FONT></TD>" >> ${PAGE}
  else
#    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${PERC} </FONT></TD>" >> ${PAGE}
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> </FONT></TD>" >> ${PAGE}
  fi  # ${CNT}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT}TB </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
TTLCNTAGGR=${TTLCNT}
echo "${TTLCNT}; " >> ${CSV}

# Aggr %
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> Aggr % </FONT></TD>" >> ${PAGE} 
echo "    <TD> </TD>" >> ${PAGE}
echo -n "Total Aggr %; ;" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -d ${AFSPDIR}/${COUNTRY}/data/model-version ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/
    if [ -f dashboard_totalaggrtb.asc ]; then
      TOTAL="`cat dashboard_totalaggrtb.asc`"
    else
      TOTAL=0
    fi
    if [ ${TOTAL} -gt 0 ]; then
      PERC=`expr ${TOTAL} \* 100 / ${TTLCNTAGGR}`
    else
      PERC=0
    fi
  fi
  if [ ${TOTAL} -gt 0 ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='0'> ${PERC}% (${TOTAL}/ ${TTLCNTAGGR}) </A> </FONT></TD>" >> ${PAGE} 
  else
    echo "    <TD> </TD>" >> ${PAGE} 
  fi  # CNT
  echo -n "${PERC} %;" >> ${CSV}
done  # COUNTRY
echo "  </TR>" >> ${PAGE}
echo "" >> ${CSV}

# Failed disks
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Failed disks</FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
echo -n "Failed disks; ; " >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  BGCOLOR=""
  CNT=""
  cd ${AFSPDIR}/${COUNTRY}/data/
  if [ -f afsp-disks-failures.csv ]; then
    CNT="`cat afsp-disks-failures.csv|grep -v ^#|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
    BGCOLOR="lightgreen"
    if [ ${CNT} -gt 0 ]; then
      BGCOLOR="yellow"
      if [ ${CNT} -gt 1 ]; then
        BGCOLOR="orange"
      fi
      echo "    <TD align='center' BGCOLOR=${BGCOLOR}><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/failed-disks.html\">${CNT}</A> </FONT></TD>" >> ${PAGE}
    else
      echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
    fi  # ${CNT}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> </FONT></TD>" >> ${PAGE}
  fi  # -f
  echo -n "${CNT};" >> ${CSV}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
echo "" >> ${CSV}

# RC-file diff's
TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>RC-file diff's</FONT></TD>" >> ${PAGE}
echo "    <TD> </TD>" >> ${PAGE}
echo -n "RC-file diff's; ; " >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  cd ${AFSPDIR}/${COUNTRY}/data/
  CNT="`cat dashboard.asc|grep RCFILEDIFFCNT|cut -d\= -f2|tail -1`"
  BGCOLOR=""
  if [ "${CNT}" != "" ]; then
    BGCOLOR="lightgreen"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
    if [ ${CNT} -gt 0 ]; then
      BGCOLOR="yellow"
      if [ ${CNT} -gt 1 ]; then
        BGCOLOR="orange"
      fi
    fi  # ${CNT}
    echo "    <TD BGCOLOR=${BGCOLOR} align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> </FONT></TD>" >> ${PAGE}
  fi  # != ""
  echo -n "${CNT};" >> ${CSV}
done  # for
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}
echo "" >> ${CSV}


# From NetApp
FILECNT=`ls -1 ${AFSPDIR}/netapp/data/database/[_0-9]*.asc|wc -l`
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'><B>From NetApp</B></FONT></TD>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='3'> <CENTER> <A HREF=\"netapp/netapp-systems.html\">${FILECNT}</A> </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}

#for NETAPPDATE in `echo "2016-09-06 2015-03-09"`
#do
#  echo "${NETAPPDATE} ..."
#  FILENAME="/appl/mdr/mdrglob/afsp/netapp/data/netapp-filer-list_${NETAPPDATE}.csv"
#  TTLCNT=0
#  FILECNT="`cat ${FILENAME}|wc -l`"
#  echo "  <TR>" >> ${PAGE}
#  echo "    <TD><FONT COLOR=black face='verdana' size='-3'> List (${NETAPPDATE})</FONT></TD>" >> ${PAGE}
#  echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${FILECNT} <BR> lines</FONT></TD>" >> ${PAGE}
#  for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
#  do
#    CNT="`cat ${FILENAME}|grep -v ^#|grep \";${COUNTRY};\"|wc -l`"
#    TTLCNT=`expr ${TTLCNT} + ${CNT}`
#    PERC=`expr ${CNT} \* 100 / ${FILECNT}`
#    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'>${CNT}</FONT><BR><FONT size='1'>${PERC}% </FONT></TD>" >> ${PAGE}
#  done  # for
#  echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
#  echo "  </TR>" >> ${PAGE}
#
#done  # for NETAPPDATE


## Compared list
#echo "  <TR>" >> ${PAGE}
#echo "    <TD><FONT COLOR=black face='verdana' size='-3'>Compare list</FONT></TD>" >> ${PAGE}
#echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'><A HREF=\"compare-list.html\">global</A></FONT></TD>" >> ${PAGE}
#
#for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
#do
#  if [ -f /appl/mdr/www/afsp/${COUNTRY}/compare-list.html ]; then
#    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> <A HREF=\"${COUNTRY}/compare-list.html\">${COUNTRY}</A> </FONT></TD>" >> ${PAGE}
#  else
#    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'>  </FONT></TD>" >> ${PAGE}
#  fi
#done  # for
#
#echo "  </TR>" >> ${PAGE}


# Internal / Diagnostics
TTLCNT=0
echo "  <TD><FONT COLOR=black face='verdana' size='-3'><B>Diagnostics</B></FONT></TD>" >> ${PAGE}
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'>DB-files</FONT></TD>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-3'> </FONT></TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -d ${AFSPDIR}/${COUNTRY}/data/database ]; then
    cd ${AFSPDIR}/${COUNTRY}/data/database/
    CNT="`ls -1 *.asc|wc -l`"
    TTLCNT=`expr ${TTLCNT} + ${CNT}`
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${CNT} </FONT></TD>" >> ${PAGE}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> </FONT></TD>" >> ${PAGE}
  fi

done  # COUNTRY
echo "  <TD align='center'><FONT COLOR=black face='verdana' size='3'> ${TTLCNT} </FONT></TD>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}


# Diagnostics, Last versions
ETC="${BASEDIR}/etc/date-week-month.csv"
if [ -f ${ETC} ]; then
  DATE="`date +%F`"
  WEEK="`grep ${DATE} ${ETC}|awk -F\; '{print $2}'`"
  MONTH="`grep ${DATE} ${ETC}|awk -F\; '{print $3}'`"
  echo "${DATE} M:${MONTH} W:${WEEK}"
fi

echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-4'>Last os-versions</FONT></TD>" >> ${PAGE}
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-4'> ${MONTH} </FONT></TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  LASTDIR="`cd ${AFSPDIR}/${COUNTRY}/data/versions/; ls -1d 20??m??|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-4'> ${LASTDIR} </FONT></TD>" >> ${PAGE}
done  # COUNTRY
echo "  </TR>" >> ${PAGE}

# Diagnostics, Last uptime
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-4'>Last uptime</FONT></TD>" >> ${PAGE}
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-4'> ${WEEK} </FONT></TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  LASTDIR="`cd ${AFSPDIR}/${COUNTRY}/data/uptime/; ls -1d 20??w??|tail -1`"
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-4'> ${LASTDIR} </FONT></TD>" >> ${PAGE}
done  # COUNTRY
echo "  </TR>" >> ${PAGE}

## DFM-server(s)name(s)
#TTLCNT=0
#echo "  <TR>" >> ${PAGE}
#echo "    <TD><FONT COLOR=black face='verdana' size='-4'>DFM-server(s)</FONT></TD>" >> ${PAGE}
#echo "    <TD> </TD>" >> ${PAGE}
#for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
#do
#  DFMCNT="`ls -1 /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/2*/*.csv|cut -d\_ -f2|cut -d\. -f1|sort -u|wc -l`"
#  DFMS="`ls -1 /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/2*/*.csv|cut -d\_ -f2|cut -d\. -f1|sort -u`"
#  if [ ${DFMCNT} -gt 0 ]; then
#    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='-4'>${DFMCNT}<BR> <SPAN title=\"${DFMS}\">[?]</SPAN></FONT></TD>" >> ${PAGE}
#  else
#    echo "  <TD align='center'><FONT COLOR=black face='verdana' size='-4'>${DFMCNT}</FONT></TD>" >> ${PAGE}
#  fi  # ${DFMS}
#done  # for
#echo "  </TR>" >> ${PAGE}
#
## Diagnostics, Last incomming
#echo "  <TR>" >> ${PAGE}
#echo "    <TD><FONT COLOR=black face='verdana' size='-4'>Last incomming (by DFM)</FONT></TD>" >> ${PAGE}
#echo "    <TD><FONT COLOR=black face='verdana' size='-4'> </FONT></TD>" >> ${PAGE}
#for COUNTRY in `cd /appl/mdr/mdrglob/afsp/; ls -1d ??`
#do
#  LASTDIR="`cd /appl/mdr/mdrglob/afsp/${COUNTRY}/incomming/; ls -1d 20??-??-??|tail -1`"
#  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-4'> ${LASTDIR} </FONT></TD>" >> ${PAGE}
#done  # COUNTRY
#echo "  </TR>" >> ${PAGE}

# default.mailto
#TTLCNT=0
echo "  <TR>" >> ${PAGE}
echo "    <TD><FONT COLOR=black face='verdana' size='-4'>default.mailto</FONT></TD>" >> ${PAGE}
echo "    <TD></TD>" >> ${PAGE}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  DEFMAILTO="${AFSPDIR}/${COUNTRY}/etc/default.mailto"
  if [ -f ${DEFMAILTO} ]; then
    MAILADDRS=`cat ${DEFMAILTO}|grep -v ^#|sed 's/ / ; /g'|sed 's/\@atos\.net//g'|sed 's/\./\. /g'|sed 's/\_/\_ /g'`
  else
    MAILADDRS=" "
  fi
  echo "    <TD align='center'><FONT COLOR=black face='verdana' size='-2'> ${MAILADDRS} </FONT></TD>" >> ${PAGE}
done  # COUNTRY
echo "  </TR>" >> ${PAGE}

echo "  <TR>" >> ${PAGE}
echo "    <TD align='right'><FONT COLOR=black face='verdana' size='3'> Country -></FONT></TD>" >> ${PAGE}
echo -n "COUNTRY;" >> ${CSV}
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'> global </TD>" >> ${PAGE}
echo -n ";" >> ${CSV}
for COUNTRY in `cd ${AFSPDIR}; ls -1d ??`
do
  if [ -f ${AFSPWWWDIR}/${COUNTRY}/index.html ]; then
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'><A HREF=\"${COUNTRY}/index.html\">${COUNTRY}</A></FONT></TD>" >> ${PAGE}
  else
    echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'>${COUNTRY}</FONT></TD>" >> ${PAGE}
  fi
# Add to CSV
  echo -n "${COUNTRY};" >> ${CSV}
done  # for
echo "    <TD align='center'><FONT COLOR=black face='verdana' size='3'>Total</FONT></TD>" >> ${PAGE}

echo "  </TR>" >> ${PAGE}
echo "Total;" >> ${CSV}


echo "  <TR>" >> ${PAGE}
echo "  </TR>" >> ${PAGE}

echo "</TABLE>" >> ${PAGE}


echo "  <TABLE cellspacing='0'>" >> ${PAGE}
echo "    <TR>" >> ${PAGE}
echo "      <TD><FONT face= 'verdana' size='3'><B>Color legenda:</B></TD>" >> ${PAGE}
echo "    </TR>" >> ${PAGE}
echo "    <TR>" >> ${PAGE}
echo "      <TD><FONT face= 'verdana' size='3'>LifeCylce mgt: </TD>" >> ${PAGE}
echo "      <TD > <FONT face= 'verdana' size='3'>DASHBOARDASUPCOL</FONT> </TD>" >> ${PAGE}
echo "      <TD > <FONT face= 'verdana' size='3'>from data/dashboard.asc </FONT> </TD>" >> ${PAGE}
echo "    </TR>" >> ${PAGE}
echo "    <TR>" >> ${PAGE}
echo "      <TD><FONT face= 'verdana' size='3'>Availability mgt: </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=red> <FONT face= 'verdana' size='3'> < 14 days</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=orange> <FONT face= 'verdana' size='3'> < 21 days</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=yellow> <FONT face= 'verdana' size='3'> < 28 days</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=lightgreen> <FONT face= 'verdana' size='3'> <= 365 days</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=yellow> <FONT face= 'verdana' size='3'> > 365 days</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=orange> <FONT face= 'verdana' size='3'> > 730 days (at least 1 Ontap upgrade had to be done)</FONT> </TD>" >> ${PAGE}
echo "    </TR>" >> ${PAGE}
echo "    <TR>" >> ${PAGE}
echo "      <TD><FONT face= 'verdana' size='3'>Cap. mgt: </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=red> <FONT face= 'verdana' size='3'>100%</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=orange> <FONT face= 'verdana' size='3'> >= 95%</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=yellow> <FONT face= 'verdana' size='3'> >= 90%</FONT> </TD>" >> ${PAGE}
echo "    </TR>" >> ${PAGE}
echo "    <TR>" >> ${PAGE}
echo "      <TD><FONT face= 'verdana' size=2>Failed disks: </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=""> <FONT face= 'verdana' size='3'>0 failed disk</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=yellow> <FONT face= 'verdana' size='3'>1 failed disk</FONT> </TD>" >> ${PAGE}
echo "      <TD BGCOLOR=orange> <FONT face= 'verdana' size='3'>more failed disks</FONT> </TD>" >> ${PAGE}
echo "    </TR>" >> ${PAGE}
echo "  </TABLE>" >> ${PAGE}

echo "# ${PGM} v${VER}" >> ${CSV}
echo "# `date` `hostname`" >> ${CSV}
 
if [ ${MAIL} ] && [ -f ${CSV} ]; then
  date| mailx -a ${CSV} -s "AFSP: Dashboard CSV [${PGM} v${VER}]" ${CSVMAILTO}
  echo "`date` Mailed to ${CSVMAILTO}"|tee -a ${LOG}
fi

# ----- Footer

echo "<TABLE BORDER=0 WIDTH='100%' cellspacing='0'>" >> ${PAGE}
echo "<TR> " >> ${PAGE}
echo "  <TD bgColor=#0066A1 > " >> ${PAGE}
echo "    <FONT COLOR=white face='Verdana' size='1'>" >> ${PAGE}
echo "      <CENTER>" >> ${PAGE}
echo "Contact: |Content Owner: <A HREF="mailto:Maarten.deBoer@Atos.net">Maarten de Boer</A> |Last Update: `date` [${PGM} v${VER}]<BR>" >> ${PAGE}
echo "For internal use (c) Atos S.A. `date +%Y` all rights reserved. Reproduction in whole or in part is prohibited without the written consent of Atos SA." >> ${PAGE}
echo "      </CENTER>" >> ${PAGE}
echo "    </FONT>" >> ${PAGE}
echo "  </TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}

echo "</BODY>" >> ${PAGE}
echo "</HTML>" >> ${PAGE}


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

