Script Monitoring Jaringan dengan Sistem Notifikasi SMS

sms

Script Monitoring Jaringan dengan Sistem Notifikasi SMS

Kalau di lihat dari judulnya kok agak sedikit nggak jelas yah, intinya disini saya akan mencoba sharing script sederhana buatan saya sendiri, script ini saya gunakan untuk memantau koneksi internet, dan akan mengirimkan sms notifikasi jika terjadi kegagalan koneksi. Cara kerjanya sebenarnya simple saja, script ini akan memantau koneksi ke gmail.com dengan menggunakan wget setiap 10 menit, dan script di jalankan secara otomatis dengan menggunakan aplikasi crontab. Apabila koneksi berhasil maka sistem akan menampilkan output di terminal ssh saya seperti berikut
Tue 27 Aug 2013 20:20 01, Koneksi lancar gan..!!
Tue 27 Aug 2013 20:30 02, Koneksi lancar gan..!!
Tue 27 Aug 2013 20:40 01, Koneksi lancar gan..!!

Dan apabila koneksi gagal script akan mengirimkan notifikasi ke admin melalui SMS dengan cara mengirimkan output dari script ke SMS server melalui database MySQL pada tabel Outbox dan script akan memberikan nilai “1” pada file /usr/local/bin/file, apabila selama periode pengecekan (10menit) koneksi belum juga berhasil maka sistem akan mengirimkan lagi SMS nya ke admin dan menambahkan nilai “1” lagi ke file /usr/local/bin/file, dan apabila sekali lagi pengecekan koneksi gagal, maka sistem akan mengirimkan SMS sekali lagi ke administrator kemudian sekali lagi akan menambahkan nilai “1” ke file /usr/local/bin/file, apabila isi file /usr/local/bin/file sudah berisi 3 (berarti sudah 3 kali di cek koneksinya dan gagal) maka sistem tidak akan mengirimkan SMS lagi ke administrator karena asumsinya memang koneksi sedang ada masalah dari provider atau penyebab lain yang sifatnya lumayan “fatal” dan butuh waktu lama untuk mengatasinya, ini digunakan agar sistem tidak membanjiri handphone si admin dengan SMS notifikasi yang berulang, di penjadwalan crontab yang lain ada script lagi yang bertugas mengembalikan nilai “0” ke file /usr/local/bin/file (di lampirkan di bagian akhir artikel ini) dalam periode tertentu, biar sistem bisa ngirim sms lagi karena nilai nya sudah di kembalikan ke nilai “0” lagi (lihat script di bawah), dan pengaturan waktu menjalankannya bisa kita sesuaikan.

Dalam konfigurasi saya ada sedikit penyesuaian di penjadwalan crontab nya, sehingga SMS notifikasi tengah malam tidak di kirimkan, kalau mau tau caranya PM aja ya, he.. (takut nanti jadi kepanjangan artikelnya), atau silahkan oba googling atau utak-atik sendiri 😀

Berikut script pertama yang bertugas untuk mengecek koneksi internet, mengirimkan notifikasi apabila terjadi ke gagalan koneksi dan menambahkan nilai “1” pada file /usr/local/bin/file
#!/bin/bash
#
# script cek koneksi by
# Muhammad Rifqi
# http://masrifqi.staff.ugm.ac.id
# masrifqi at mail.ugm.ac.id
#
##variabel
FILE="/usr/local/bin/file"
TIMEOUT=15
TRIES=10
TIME=`date +"%a %d %h %Y %R %S"`
URL="http://gmail.com"
MESSAGE="Koneksi ke gmail timeout setelah $TIMEOUT detik."
## db var
USER=gammu
PW=password_database_user_sms_server
HOST=10.x.x.x
TABLE=outbox
## recipients
RIFQI=089xxxxxxxxx
#jalankan fungsi ceking
for isi in $(cat $FILE); do
if [ "$isi" -lt 4 ]
then
CHECK=$(wget --timeout=$TIMEOUT --tries=$TRIES -qO - $URL )
if [[ ${#CHECK} > 0 ]]; then
echo -e "\033[32m $TIME, Koneksi lancar gan..!!"
echo -e -n "\033[0m "
#### delete file index nya ###
rm -rf index.html
else
echo -e "\033[31m $TIME, Koneksi Down..!!"
echo -e -n "\033[0m "
#Kirimkan isi "$MSG" ke database sms gammu
echo "INSERT INTO $TABLE (DestinationNumber,TextDecoded) VALUES ('$RIFQI','$TIME, $MESSAGE');" | mysql -h $HOST --user=$USER --password=$PW sms
(( isi++))
echo $isi > /usr/local/bin/file
fi
fi
done

Dan berikut adalah file yang akan me reset nilai pada file /usr/local/bin/file menjadi 0 kembali (jalankan script ini dan sesuaikan pengaturan waktunya sesuai kebutuhan)

#!/bin/bash
echo "1" > /usr/local/bin/file

Leave a comment ?

15 Comments.

  1. Ini baru yang namanya keren. Ini canggih, Kang.

  2. Terimakasih mas bro, cuman sekedar sharing saja

  3. mas ini lebih ke jaringan atau pemograman ya ? kaitannya untuk judul 😀

  4. tapi harus buat programnya dulu kan ? ada tutorial lbh lengkap kah ? hehehe

  5. mas, boleh minta nomor handphone/nomor whatsapp. thx

  6. ga perlu program2an gan, tinggal pasang gammu+modem sms trus buat script di atas, beres..

  7. @arfan : ym aja ya gan, udah ada tuh

  8. mas, kalau untuk sms notifikasi IDS bagaimana script nya?
    -Terima Kasih-

  9. bagaimana caranya agar scrip diatas dijalankan untuk selamanya, maksudnya adalah setiap waktu tidak perlu ada schedule lagi.

    Thanks.

Leave a Comment


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