Memonitor Server Anda Dengan Shell Script

February 20 | Posted by Muhammad Yusuf E. | Programming Tags: , , ,

Setiap orang tidak ingin servernya down tanpa diketahuinya. Kalau pun down, maka ingin cepat-cepat terdeteksi. Alert down dapat yang dikirim lewat email atau sms. Karena itu memonitor ALIVE server sangatlah perlu. Dalam kesempatan ini, saya akan perkenalkan bagaimana memonitor server dengan shell script sederhana. 

Shell script ini dapat dijalankan di mana saja, asal anda mempunyai OS yang berbasis Unix, seperti Linux/FreeBSD/Unix. Saat ini hampir semua server mempunyai programming shell script.

[sourcecode lang='php']
#!/bin/bash

# Masukkan IP address atau Host, pisahkan dengan spase
HOSTS=”infokomtek.com bali.to”

# no ping request
COUNT=1

# Kirim Email
SUBJECT=”Ping gagal”
EMAILID=”info@infokomtek.com”
for myHost in $HOSTS
do
count=$(ping -c $COUNT $myHost | grep ‘received’ | awk -F’,’ ‘{ print $2 }’ | awk ‘{ print $1 }’)
if [ $count -eq 0 ]; then
# 100% failed
echo “Host : $myHost is down (ping failed) at $(date)” | mail -s “$SUBJECT” $EMAILID
fi
done
[/sourcecode]

Nilai HOSTS adalah deretan array server yang ingin kita monitor. Dapat anda isi dengan IP Address atau nama Host. Nilai COUNT adalah jumlah paket yang akan dikirim dengan signal ping. Dalam program ini kita ambil nilainya adalah 1. Apabila paket ping yang dikirim ada respon, maka server Up alias tidak ada masalah. Apabila tidak ada respon maka dianggap server Down. Ketika server ketahuan Down, maka akan dikirim alert email ke EMAILID.

Install shell script ini di crontab, lakukan monitoring setiap 5 menit sekali atau sesuai dengan kebutuhan anda. Sudah tentu script ini dapat anda kembangkan agar lebih canggih dengan fungsi-fungsi seperti pencatatan monitor ke log file. atau dengan webinterface. Selamat mencoba.

Tags: , , ,

Leave a Reply

Your email address will not be published. Required fields are marked *

*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>