#!/bin/bash
# Script for checking vmfs diskspace
LOG="/var/log/vdf.html"
MYDATE=$(date +%d-%m-%y)
VMFSYELLOW=90
VMFSRED=95

cat /dev/null > "${LOG}"
echo "<html>" >> "${LOG}"
echo "<head>" >> "${LOG}"
echo "<style>" >> "${LOG}"
echo "body {margin: 10px; width: 600px; font-family:arial; font-size: 10px;}" >> "${LOG}" 
echo "div#footer {font-size: 9px;}" >> "${LOG}" 
echo "</style>" >> "${LOG}"
echo "</head>" >> "${LOG}"
echo "<body>" >> "${LOG}"

echo "<table cellspacing="0" cellpadding="2" border="1"; style='border-collapse:collapse; background-color: white; color: black'>" >> "${LOG}"
echo "<tr><th colspan='5'; align='left'; style='background-color: rgb(179,179,179); color: black'>" >> "${LOG}"
echo "VMFS Disk Usage - $MYDATE</th></tr>" >> "${LOG}"
echo "" >> "${LOG}"
echo "<tr>" >> "${LOG}" 
echo "<td><b>VMFS Volume</b></td><td><b>Disk Size</b></td><td><b>Used</b></td><td><b>Available</b></td><td><b>Percentage</b></td>" >> "${LOG}"
echo "</tr>" >> "${LOG}" 
  vdf -h -P | grep -E '^/vmfs/volumes/' | awk '{ print $2 " " $3 " " $4 " " $5 " " $6 }' | while read output ; do
    DISKSIZE=$(echo $output | awk '{ print $1 }' )
    DISKUSED=$(echo $output | awk '{ print $2 }' )
    DISKAVAILABLE=$(echo $output | awk '{ print $3 }' )
    PERCENTINUSE=$(echo $output | awk '{ print $4 }' )
    VOLNAME=$(echo $output | awk '{ print $5 }' )
    CUTPERC=$(echo $PERCENTINUSE | cut -d'%' -f1  )
    WARNING="white"
    if [ $CUTPERC -ge $VMFSYELLOW ] ; then
      WARNING="yellow" 
    fi  
    if [ $CUTPERC -ge $VMFSRED ] ; then
      WARNING="red" 
    fi
    echo "<tr><td style='background-color: ${WARNING}'>$VOLNAME</td>" >> "${LOG}"
    echo "<td style='background-color: ${WARNING}'>$DISKSIZE</td>" >> "${LOG}" 
    echo "<td style='background-color: ${WARNING}'>$DISKUSED</td>" >> "${LOG}" 
    echo "<td style='background-color: ${WARNING}'>$DISKAVAILABLE</td>" >> "${LOG}" 
    echo "<td style='background-color: ${WARNING}'>$PERCENTINUSE</td></tr>" >> "${LOG}"
  done
echo "</table>" >> "${LOG}"
echo "<div id='footer'>Created by Yellow-bricks.com</div>" >> "${LOG}"
echo "</body>" >> "${LOG}"
echo "</html>" >> "${LOG}" 

