From 8d92e1e03556e26e218c95668fc5601d8f97c552 Mon Sep 17 00:00:00 2001 From: Ankam Ravi Kumar Date: Sat, 16 Jun 2018 17:48:56 +0530 Subject: [PATCH] Create cpualert.sh Monitoring CPU Utilization and send an alert to email. --- cpualert.sh | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) create mode 100644 cpualert.sh diff --git a/cpualert.sh b/cpualert.sh new file mode 100644 index 0000000..a5c6b13 --- /dev/null +++ b/cpualert.sh @@ -0,0 +1,39 @@ +#!/bin/bash +#Purpose: Real time CPU utilization Monitoring +#Version:1.0 +#Created Date: Tue Jun 5 21:33:38 IST 2018 +#Modified Date: +#WebSite: https://arkit.co.in +#Author: Ankam Ravi Kumar +# START # +PATHS="/" +HOSTNAME=$(hostname) +CRITICAL=98 +WARNING=90 +CRITICALMail="YOUREMAILaddresS@Domain.com" +MAILWAR="YOUREMAIL@Domain.in" +mkdir -p /var/log/cputilhist +LOGFILE=/var/log/cputilhist/cpusage-`date +%h%d%y`.log + +touch $LOGFILE + +for path in $PATHS +do + CPULOAD=`top -b -n 2 -d1 | grep "Cpu(s)" | tail -n1 | awk '{print $2}' |awk -F. '{print $1}'` +if [ -n $WARNING -a -n $CRITICAL ]; then +if [ "$CPULOAD" -ge "$WARNING" -a "$CPULOAD" -lt "$CRITICAL" ]; then +echo "`date "+%F %H:%M:%S"` WARNING - $CPULOAD on Host $HOSTNAME" >> $LOGFILE +echo "Warning Cpuload $CPULOAD Host is $HOSTNAME" | mail -s "CPULOAD is Warning" $MAILWAR +exit 1 +elif [ "$CPULOAD" -ge "$CRITICAL" ]; then +echo "`date "+%F %H:%M:%S"` CRITICAL - $CPULOAD on Host $HOSTNAME" >> $LOGFILE +echo "CRITICAL Cpuload $CPULOAD Host is $HOSTNAME" | mail -s "CPULOAD is CRITICAL" $CRITICALMail +exit 2 +else +echo "`date "+%F %H:%M:%S"` OK - $CPULOAD on $HOSTNAME" >> $LOGFILE +exit 0 +fi +fi +done + +# END #