
#!/bin/bash
# File	: upd_oci-status.sh
# By	: Maarten.deBoer, 200102
# Subject	: Script to update the OCI status
#(0.2),200102	: Upd
PGM="`basename $0|cut -d\. -f1`"
VER="0.2"
TMP="/tmp/${PGM}.$$"
LOG="${HOME}/log/${PGM}.log"

DATADIR="${HOME}/data"
INCSV="${DATADIR}/oci_rau-status.csv"
WWWDIR="/var/www/html/rau-status"
PAGE="${WWWDIR}/index.html"

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

if [ ! -d ${WWWDIR} ]; then
  echo "  NO WWWdir (${WWWDIR}) available. Exiting ..."|tee -a ${LOG}
  exit 3
fi  # WWWDIR
if [ ! -f ${INCSV} ]; then
  echo "  NO Input CSV (${INCSV}) available. Exiting ..."|tee -a ${LOG}
  exit 4
fi  # WWWDIR


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 "<TITLE>OCI RAU status</TITLE>" >> ${PAGE}
echo "<basefont face='verdana'>" >> ${PAGE}
echo "</HEAD>" >> ${PAGE}
echo "<BODY aLink=blue bgColor=#D3D0D3 link=blue text=#000000 vLink=blue>" >> ${PAGE}
echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${PAGE}
echo "<TR HEIGHT=40px>" >> ${PAGE}
echo "  <TD bgColor=#0066A1>" >> ${PAGE}
echo "    <FONT COLOR=white face='verdana' size='5'> <B>OCI-RAU status</B> </FONT>" >> ${PAGE}
echo "    <BR>" >> ${PAGE}
echo "  <TD>" >> ${PAGE}
echo "</TR>" >> ${PAGE}
echo "</TABLE>" >> ${PAGE}

echo "<BR>" >> ${PAGE}

#echo "<H3> FireWall from this (nlxnetapp02 / `hostname -I|awk '{print $3}'`) server to OCI-RAU over p22 (SSH) </H3>" >> ${PAGE}
#echo "<H3> FireWall from the RAU-server to the OCI-server over p41004 (OCI) </H3>" >> ${PAGE}
#echo "<BR>" >> ${PAGE}


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

echo "  <TR>" >> ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>Environment</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>RAU status</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>Hostname</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>IP-addr</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>Ping</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>nmap to</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>nmap back</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='4'>To IP (OCI-srv)</FONT> </TD>" >>  ${PAGE}
echo "  </TR>" >> ${PAGE}

echo "  <TR>" >> ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'></FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'>From <BR> nlxnetapp02 <BR> (161.89.52.124) </FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'>To:</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'></FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'></FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'>Using SSH</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'>via p41004</FONT> </TD>" >>  ${PAGE}
echo "    <TD> <FONT COLOR=black face='verdana' size='2'>To:</FONT> </TD>" >>  ${PAGE}
echo "  </TR>" >> ${PAGE}


##  echo "${ENV};${HOSTNAME};${IPADDR};${PINGSTATUS};${NMAPTO};${NMAPBACK};${OCISRV};" >> ${OUTCSV}

RAU_CNT=0
RAU_OK=0
cat ${INCSV}|while read LINE
do
  echo ${LINE}
  ENV=`echo ${LINE}|awk -F\; '{print $1}'`
  HOSTNAME=`echo ${LINE}|awk -F\; '{print $2}'`
  IPADDR=`echo ${LINE}|awk -F\; '{print $3}'`
  PINGSTATUS=`echo ${LINE}|awk -F\; '{print $4}'`
  NMAPTO=`echo ${LINE}|awk -F\; '{print $5}'`
  NMAPBACK=`echo ${LINE}|awk -F\; '{print $6}'|awk '{print $1,$2}'`
  OCISRV=`echo ${LINE}|awk -F\; '{print $7}'`
  OCISTATUS=`echo ${LINE}|awk -F\; '{print $8}'`

  echo "  <TR>" >> ${PAGE}
  echo "    <TD>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${ENV}</A>" >>  ${PAGE}
  echo "      </FONT>" >> ${PAGE}
  echo "    </TD>" >>  ${PAGE}
  BGC="lightblue"
  RAU_CNT=`expr ${RAU_CNT} + 1`
  if [ "${OCISTATUS}" = "RAU-acquisition" ]; then
    BGC="green"
    RAU_OK=`expr ${RAU_OK} + 1`
  fi
  if [ "${OCISTATUS}" = "RAU-proc's active" ]; then
    BGC="yellow"
  fi
  if [ "${OCISTATUS}" = "NO rau active" ]; then
    BGC="red"
  fi
  echo "    <TD BGCOLOR=${BGC}>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${OCISTATUS}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  echo "    <TD>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${HOSTNAME}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  echo "    <TD>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${IPADDR}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  BGC="lightblue"
  if [ "${PINGSTATUS}" = "ping = OK" ]; then
    BGC="green"
  fi
  if [ "${PINGSTATUS}" = "ping NOTok" ]; then
    BGC="red"
  fi
  echo "    <TD BGCOLOR=${BGC}>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${PINGSTATUS}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  BGC="lightblue"
  if [ "${NMAPTO}" = "22/tcp open ssh" ]; then
    BGC="green"
  fi
  if [ "${NMAPTO}" = "22/tcp filtered ssh" ]; then
    BGC="red"
  fi
  echo "    <TD BGCOLOR=${BGC}>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${NMAPTO}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  BGC="lightblue"
  if [ "${NMAPBACK}" = "41004/tcp open" ]; then
    BGC="green"
  fi
  if [ "${NMAPBACK}" = "41004/tcp filtered" ]; then
    BGC="red"
  fi
  echo "    <TD BGCOLOR=${BGC}>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${NMAPBACK}" >>  ${PAGE}
  echo "      </FONT> </TD>" >>  ${PAGE}
  echo "    <TD>" >>  ${PAGE}
  echo "      <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${OCISRV}" >>  ${PAGE}
  echo "      </FONT>" >> ${PAGE}
  echo "    </TD> </TR>" >> ${PAGE}

done
  echo "  <TR>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'>" >> ${PAGE}
  echo "        ${RAU_OK} / ${RAU_CNT}" >>  ${PAGE}
  echo "    </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "    <TD> <FONT COLOR=black face='verdana' size='3'> </FONT> </TD>" >> ${PAGE} 
  echo "  </TR>" >> ${PAGE} 


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

echo "<BR>" >> ${PAGE}


echo "<TABLE BORDER=0 WIDTH='100%'>" >> ${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`<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

