Skip to content

Commit 8d92e1e

Browse files
author
Ankam Ravi Kumar
authored
Create cpualert.sh
Monitoring CPU Utilization and send an alert to email.
1 parent c5a7b03 commit 8d92e1e

File tree

1 file changed

+39
-0
lines changed

1 file changed

+39
-0
lines changed

cpualert.sh

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
#!/bin/bash
2+
#Purpose: Real time CPU utilization Monitoring
3+
#Version:1.0
4+
#Created Date: Tue Jun 5 21:33:38 IST 2018
5+
#Modified Date:
6+
#WebSite: https://arkit.co.in
7+
#Author: Ankam Ravi Kumar
8+
# START #
9+
PATHS="/"
10+
HOSTNAME=$(hostname)
11+
CRITICAL=98
12+
WARNING=90
13+
CRITICALMail="YOUREMAILaddresS@Domain.com"
14+
MAILWAR="YOUREMAIL@Domain.in"
15+
mkdir -p /var/log/cputilhist
16+
LOGFILE=/var/log/cputilhist/cpusage-`date +%h%d%y`.log
17+
18+
touch $LOGFILE
19+
20+
for path in $PATHS
21+
do
22+
CPULOAD=`top -b -n 2 -d1 | grep "Cpu(s)" | tail -n1 | awk '{print $2}' |awk -F. '{print $1}'`
23+
if [ -n $WARNING -a -n $CRITICAL ]; then
24+
if [ "$CPULOAD" -ge "$WARNING" -a "$CPULOAD" -lt "$CRITICAL" ]; then
25+
echo "`date "+%F %H:%M:%S"` WARNING - $CPULOAD on Host $HOSTNAME" >> $LOGFILE
26+
echo "Warning Cpuload $CPULOAD Host is $HOSTNAME" | mail -s "CPULOAD is Warning" $MAILWAR
27+
exit 1
28+
elif [ "$CPULOAD" -ge "$CRITICAL" ]; then
29+
echo "`date "+%F %H:%M:%S"` CRITICAL - $CPULOAD on Host $HOSTNAME" >> $LOGFILE
30+
echo "CRITICAL Cpuload $CPULOAD Host is $HOSTNAME" | mail -s "CPULOAD is CRITICAL" $CRITICALMail
31+
exit 2
32+
else
33+
echo "`date "+%F %H:%M:%S"` OK - $CPULOAD on $HOSTNAME" >> $LOGFILE
34+
exit 0
35+
fi
36+
fi
37+
done
38+
39+
# END #

0 commit comments

Comments
 (0)