Showing posts with label Health check. Show all posts
Showing posts with label Health check. Show all posts

Monday, March 16, 2015

Isilon Health Check Script











Thrive in what all you do... Okay i'm not writing any spiritual article here ;)

Actually i was tired of running manual commands on array to check the status on daily basis, which encouraged me to write a small health check script. I believe that's why man made the machine :-D

Anyways.. below is the script which does couple of tasks:
  • Check the overall status of the cluster
  • Mail the output to my e-mail id
In case you have a large setup then you can schedule it via cron or autosys as well...

Script::

#####################################################
#
# Script: To perform the health check on Isilon Array
# DATE: 2015-03-15              
#
# Version Update: 1.0 Piyush Chawla            
#    
#####################################################


TODAY=$(date)
HOST=$(hostname)
sleep 15

#Move yesterday’s backups to an archive location
mv /ifs/pc1611/*.txt /ifs/pc1611/archive/

echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “Date: $TODAY  Host: $HOST” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
# To check the Isilon array health status
/usr/bin/isi status -q >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo "Event List"
/usr/bin/isi event list | tail -10 >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “SyncIQ Report” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
# To check the SyncIQ status
/usr/bin/isi sync reports list >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “File System Utilization” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
# To check the file system utilization
df -kh -a /ifs >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi storagepool list >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “Deduplication status” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
# To check the deduplication status
/usr/bin/isi dedupe stats  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
# To check the performance status
echo “Performance stats” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “-----------------------------” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
sleep 1
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “–System Stats–” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi statistics system  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
sleep 1
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “–Client Stats–” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi statistics client  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
sleep 1
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “–Protocol Stats–” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi statistics protocol  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
sleep 1
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “–Protocol Data–” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi statistics pstat  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
sleep 1
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo “–Drive Stats–” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
echo ”  ” >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"
/usr/bin/isi statistics drive  >> /ifs/pc1611/"isilon_status-`date '+%Y-%m-%d'`.txt"

# Mail the required output

cat /ifs/pc1611/isilon_status* | mail -s "$TODAY Report" piyush.chawla@xyz.com

#End of Script


Happy Learning!