Load Average on a server reflects the current state of the server. Higher the load average, poorer is the server performance hence it is a necessity to monitor the load average on the server. The following shell script monitors the load average on the Linux server and inform the server administrator with the current running processes of the server if the load average is greater than the defined threshold.
Create a file such as /root/monitor-load-average.sh and paste the following script in it:
#!/bin/bash
# Define Variables
CUR_TIME=`date +"%A %b %e %r"`
HOSTNAME=`hostname`
# Retrieve the load average of the past 1 minute
Load_AVG=`uptime | cut -d’l’ -f2 | awk ‘{print $3}’ | cut -d. -f1`
LOAD_CUR=`uptime | cut -d’l’ -f2 | awk ‘{print $3 " " $4 " " $5}’ | sed ’s/,//’`
# Define Threshold. This value will be compared with the current load average. Set the value as per your wish.
LIMIT=5
# Compare the current load average with Threshold and email the server administrator if threshold is greater.
if [ $Load_AVG -gt $LIMIT ]
then
#Save the current running processes in a file
/bin/ps -auxf >> /root/ps_output
echo "Current Time :: $CUR_TIME" >> /tmp/monitload.txt
echo "Current Load Average :: $LOAD_CUR" >> /tmp/monitload.txt
echo "The list of current processes is attached with the email for your reference." >> /tmp/monitload.txt
echo "Please Check… ASAP." >> /tmp/monitload.txt
# Send an email to the administrator of the server
/usr/bin/mutt -s "ALERT!!! High 1 minute load average on ‘$HOSTNAME’" -a /root/ps_output youremail@yourdomain.tld < /tmp/monitload.txt
fi
# Remove the temporary log file
/bin/rm -f /tmp/monitload.txt
/bin/rm -f /root/ps_output
Now, schedule a cronjob to execute the script on per minute basis. Edit the cronjob file
# crontab -e
and place the following cronjob at the end of the file
* * * * * /bin/sh /root/monitor-load-average.sh
In order to use mutt to send emails, you need to install the mutt package on the server. It allows you to send emails with attachments. To install on a Redhat/Fedora/CentOS server type:
# yum install mutt
Related Posts: On this day...
- A. Samuels "Livin De Life" - 2011
- GQ: Woman claims to have been kidnapped by Rand Paul and forced to take bong hits - 2010
- RIM BlackPad tablet priced at $499 when it ships in November? - 2010
- What the Hotness of Your Waitress Says About the Economy - 2009
- PayPal adds fees without bothering to tell anyone - 2009
- Shuttleworth Offers Canonical Employees to Debian - 2009
- Rand Paul Announces Senate Run - 2009
- If you suspect TERRORISM, carry a notepad with you - 2008
- Microsoft hires a hot ad agency in an effort to improve its image - 2008

BeautyandBoost.com
Music















this script return error
———————————
Can’t stat email@domain.com: No such file or directory
email@domain.com: unable to attach file.
————————————
I replaced my email address with “email@domain.com” in above error..