Top Menu

Shell Script untuk memonitor Load Average server Linux

Bagi Anda pemilik server baik itu VPS maupun Dedicated Server dengan OS Linux, ingin tidak lepas dari monitoring keadaan Load Server yang terjadi setiap detik, menit dan jam. Gunakanlah script shell berikut ini agar Server dapat memberitahukan keadaan dan kondisinya melalui email.

tux,linux

Berikut panduan pemasangan shell script di server:

  • Buatlah sebuah nama file baru, katakanlah /root/monit_loadaverage.sh dengan cara masuk ke directory /root dan buat nama file baru dengan command nano monit_loadaverage.sh atau bisa langsung nano /root/monit_loadaverage.sh
  • Jika server belum terinstal aplikasi nano, lakukan instalasi dengan cara yum install nano
  • Saat layar kosong muncul, isikan data file sebagai berikut. COPY dengan tombol CTRL+INSERT lalu PASTE menggunakan tombol keyboard SHIFT+INSERT
############### START OF THE SCRIPT ################!/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 the Threshold and

# email the server administrator if the current load average is greater.

if [ $Load_AVGgt $LIMIT
]

then

#Save the current running processes in a file

/bin/psauxf >>
/root/ps_output

echo “=================” >> /tmp/monitload.txt

echo “= SERVER MONITORING =” >> /tmp/monitload.txt

echo “=================” >> /tmp/monitload.txt

echo “Server: $HOSTNAME” >> /tmp/monitload.txt

echo “Time: $CUR_TIME” >> /tmp/monitload.txt

echo “Load Average: $LOAD_CUR” >> /tmp/monitload.txt

echo “=================” >> /tmp/monitload.txt

echo “Cek Segera Server Anda!”  >> /tmp/monitload.txt

echo “”  >> /tmp/monitload.txt

echo “by MIXMAXSPACE Hosting”  >> /tmp/monitload.txt

echo “http://mixmaxspace.com”  >> /tmp/monitload.txt

# Send an email to the administrator of the server

/usr/bin/mutt -s “ALERT!!! HIGH LOAD 1 minute on
‘$HOSTNAME’” -a /root/ps_output [email protected]
< /tmp/monitload.txt

fi

# Remove the temporary log files

/bin/rm -f /tmp/monitload.txt

/bin/rm -f /root/ps_output

############### END OF THE SCRIPT ###############

  • kemudian save file tersebut
  • lakukan proses cronjob di server untuk mengeksekusi script tersebut dengan cara ketik: crontab -e
  • tambahkan perintah berikut pada baris terbawah: * * * * * /bin/sh /root/monit_loadaverage.sh
  • save dan kemudian restart crond service dengan command: service crond restart
  • untuk dapat memproses kirim email dari shell scripts ini, maka diharuskan “mutt” terinstal, jika belum lakukan install dengan command yum install mutt

Note: Keterangan LIMIT=5 diatas adalah email akan dikirim server jika LOAD SERVER tembus pada nilai angka 5. Anda dapat merubahnya, misalkan nilai 2 atau juga diatas 5.

Reference Click Me

FacebookTwitterGoogle+WhatsAppLine

, , ,

No comments yet.

Leave a Reply