Home > docs, GNU/Linux, iseng, programming, tips > Implementation of social network for monitoring server via sms

Implementation of social network for monitoring server via sms


Hi.. Just Share aj.. ide ini terilhami pada hari Jumat, 19 Dec 2009, 1 Muharram 1431 H. Dan baru ingin diimplementasikan setelah dikasi tahu lewat sms utk segera k kantor secepatnya (ASAP) cos Server D0wn gara2 Perusahaan Lilin Negara mematikan Jaringan Listrik nya (doh). Padahal saat itu gi enk2na take a nap 😦 .

sms notification

Ada banyak cara untuk membuat sebuah monitoring server dengan mengirimkan alert / notifikasi sms jika server mati. Cara yang mudah tapi paling sulit prosedurnya adalah bekerja sama dengan Carrier Phone, lalu mengamati sebuah server dengan server lain yang terintegrasi dengan pihak ketiga (Carrier Phone). Namun cara tersebut selain sulit juga mahal biayanya. 😦 . Untuk itu mau tidak mau harus menggunakan layanan publik (gratis) 😀 .. monggo… dipun waos more:

Prototype:

Behind the scenes:

1. First Prototype:

Shell –> Send Mail to Gmail Account –> Convert Mail to GCAL (Google Calendar) –> Our Phone (SMS)

Menggunakan Google calender memungkingkan kita mendapatkan alert reminder pada saat ada kegiatan-kegiatan tertentu sesuai dengan jadwal kalendar. Layanan seperti itu yang semula saya rencanakan. Tapi karena kendala konversi dari Email ke Google Calendar Sepertinya susah. Jadi Prototype nomor satu ini saya singkirkan. /kick gcall ;))

2. Second Prototype:

Shell –> Bot Yahoo (Secondary Account) –> Send to Our Primary Yahoo Account –> Our Phone (SMS).

Cara ini cara yang paling unix dan saya kira cara yang paling keren. Karena dijalankan dengan menggunakan bot atau robot dengan bahasa java atau bahasa shell scripting lainnya. Awalnya sudah menemukan Script Bot Yahoo untuk login dengan bahasa java , tapi karena versi sekarang sudah terbaru script tersebut tidak dapat digunakan. Jika ingin memodifikasinya mau tidak mau harus coding 😆 . *males*

3. Third Prototype:

Shell –> Social Network –> Our Phone (SMS)

Cara ini tidak terpikirkan sama sekali sebelumnya. Hanya terlintas saja jika ada fasilitas sms, kenapa tidak digunakan ?? 😀 …

Oke, kurang lebih Flow nya seperti ini:

prototype monitoring server via sms

1. Monitoring Server akan mengecek Main Server (2)
2. Jika Main Server Mati, Monitoring Server akan mendifinisikan status sesuai dengan shell script.
3. Shell Script akan mengupdate status melalui methode CURL ke Twitter.
4. Status dari Twitter akan di-Forward ke Facebook
5. Lalu dari Facebook akan menjadi status, dimana notifikasi nya akan dikirim via Phone CEll
6. G0t sMS Notificati0n 😛

Preparing:

*. Buat 1 Account Twitter
*. Buat 2 account Facebook, 1 Account untuk monitoring dan 1 Account Lagi untuk menerima Forward Status dari twitter.
**. Login ke Facebook dengan menggunakan account yang pertama. Setting agar bisa menerima notifikasi update dari sms, lalu manage notifikasi dari siapa saja. Pilih Subscribe SMS dari account facebook yang kedua, agar setiap update dari account facebook yang kedua selalu dikirim notifikasi update ke account yang pertama via sms 😉 .

**. Login ke Facebook dengan menggunakan account yang kedua. Setting agar setiap status dari twitter akan selalu terupdate ke Facebook. Gunakan aplikasi tersebut dengan menggunakan aplikasi ini ( http://apps.facebook.com/twitter/ ). Pastikan status dari twitter berjalan dengan baik terupdate ke account facebook yang kedua.

Oke, semua suda siap sekarang saat tempurr…… wkkwkw

1. Scripting

*. Ping Method

Shell Script simpan dengan nama cek-server-sms.sh

#!/bin/sh
cat /home/deanet/bin/hostlist |  while read line
do pingcount=$(ping -c 1 192.168.1.$line |grep received|awk -F',' '{print $2}'|awk '{print $1}') if [ $pingcount -eq 0 ]; then curl -s -u user@deanet.web.id:pass -d status="$line sepertinya tidak beres" http://twitter.com/statuses/update.xml >> /home/deanet/bin/down.log fi
done

bikin list hostnya, misal 192.168.1.7, dst

2
7

Save as hostlist.

Cara diatas dengan menggunakan Methode Ping. Tapi ada server yg mematikan service ping 😦 . So, pake methode ssh service juga bisa 😉

*. Buat Public Key di Monitoring Server

Buat Public Key di Monitoring Server (Client) lalu masukkan ke authorized_keys Main Server.

Setup di Client Monitoring server:

deanet@deanet:~/tmp$ ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/home/deanet/.ssh/id_rsa): f7
Enter passphrase (empty for no passphrase): <ENTER>
Enter same passphrase again: <ENTER>
Your identification has been saved in f7.
Your public key has been saved in f7.pub.
The key fingerprint is:
c1:7d:58:40:0b:77:6b:d8:03:b2:d6:11:89:dd:f1:a7 deanet@deanet

Lalu Kopi ke Main Server

deanet@deanet:~/tmp$ scp f7.pub 192.168.1.7:/home/deanet
Password:f7.pub                                        100%  395     0.4KB/s   00:00

Setup di Main Server:

Login lalu jalankan:

% cat f7.pub > .ssh/authorized_keys

test Apakah sudah jalan dengan baik:

deanet@deanet:~/tmp$ ssh -i f7 -q -o StrictHostKeyChecking=no 192.168.1.2 "echo 2>&1" && echo ok || echo nok
nok
deanet@deanet:~/tmp$ ssh -i f7 -q -o StrictHostKeyChecking=no 192.168.1.7 "echo 2>&1" && echo ok || echo nok
ok

192.168.1.7 = adalah main server yang up
192.168.1.2 = sampel host yg down

Shell Script simpan dengan nama cek-server-sms.sh

##!/bin/sh
## monitoring via sms

ssh -i /home/deanet/tmp/f7 -q -o StrictHostKeyChecking=no deanet@192.168.1.7 "echo 2>&1" && echo `date` ok > /tmp/oklogcek.log || curl -s -u username@email.com:twitter -d status="cepat ke kantor, sepertinya tidak beres" http://twitter.com/statuses/update.xml >> /home/deanet/tmp/down.log

shell script nya masih mbulet-mbulet alias berantakan.. silhakn modif sndiri 😛 and silahkan pilih methode nya, sesuaikan dengan kondisi dilapangan 😛 …

sekarang saatnya testing…

2. Configuring and pentesting

beri bit permission +x cek-server-sms.sh

chmod a+x cek-server-sms.sh

lalu execute:

./cek-server-sms.sh

Amati perbedaannya ketika host dimatikan atau host dalam keadaan hidup ..

Kalo udah, terus di cron :hiihih

Misal, setiap 5 Menit:

5 * * * * /bin/sh /home/deanet/bin/cek-server-sms.sh

semoga bermanfaat..

NB: SMS yg dikirim dari facebook free / gratis lohh.. 😛 .. so kita cmn butuh cepek (Rp. 100) aj pada saat registrasi .. ekekke .. :mrgreen:

Referensi:

http://www.unix.com/shell-programming-scripting/65613-check-ssh-connection-remote-host.html
http://unstableme.blogspot.com/2009/01/test-or-check-ssh-connection-in-bash.html
http://www.unix.com/shell-programming-scripting/44495-bash-script-ssh-login.html
http://bash.cyberciti.biz/security/expect-ssh-login-script/

Advertisements
  1. February 10, 2010 at 4:58 pm

    MAntap dab. keren 😀

  2. sapisuper
    February 16, 2010 at 9:41 pm

    wah.. sep kawan.. 😀

  3. February 23, 2010 at 8:54 am

    wah super sekali …

    • February 23, 2010 at 9:01 pm

      super opo cak ??

      • March 2, 2010 at 12:03 am

        yo kae koyo neng Pak Mario Teguh kae lho cak..
        nek ono sing apik ngomonge super sekali..
        hehehe

      • March 6, 2010 at 3:40 pm

        hehe jg hehe

  4. March 6, 2010 at 6:23 am

    Bagus artikelnya mas..

    mau tanya:

    kenapa dari twitter trus diarahkan ke facebook?

    gimana kalo dari Twitter langsung di arahkan ke sms, sekarang Twitter sudah bisa berlangganan sms melalui kartu Axis dan 3.

    minta nasehatnya mas.

    • March 6, 2010 at 3:44 pm

      makasi…

      oh ya.. ? kena charge ndak ?? bisa aj sih… coba mas coba .. ntar kasi tahu saya klo berhasil .. 😀

      • March 8, 2010 at 8:17 pm

        Dulu dah pernah langsung lewat Twitter, dan berhasil..

        ga tau ada hubungannya ato ndak,
        ketika saya mulai aktifasi FB dengan menggunakan nomer yang sama dengan Twitter (kartu 3),
        sekarang saya ga dapet kiriman sms update status temen dari Twitter.
        padahal dulu bisa.

        ni masih coba2 lagi..

  5. March 8, 2010 at 12:20 am

    Salam KENAL dan Saling MENGUNJUNGI serta SALING BERBAGI…
    Wah…WEBSITENYA INFORMATIF.Oya, bisa tukeran BANNER/ LINK ga yah…???

    http://DUTACIPTA.WORDPRESS.COM
    🙄

  6. ordinareez
    March 13, 2010 at 2:44 pm

    ya ampun kepikiran aja 🙂

  7. March 21, 2010 at 10:16 am

    wah…mantap neh mas. Makasih yah, tak cobain dulu artikelnya….

    • March 24, 2010 at 10:15 pm

      silahkan… smoga bermanfaat 🙂

  8. net
    March 23, 2010 at 5:39 pm

    walaah muter2 tapi kreatip :p

  9. san
    March 24, 2010 at 7:31 am

    like this, solusi murah meriah dan mudah.. thx for sharing

    • March 24, 2010 at 10:12 pm

      sama2, semoga bermanfaat 🙂

  10. san
    March 24, 2010 at 7:33 am

    nah, sekarang kalo make server miekocok pie jal..

    • March 24, 2010 at 10:11 pm

      bisa pake bat script .. 🙂

  11. April 3, 2010 at 3:33 am

    itu kok logo teleponnya malah jadi iPod ???

    Piyee???

    • April 3, 2010 at 12:23 pm

      hehe… ga ada icon gmbar laen.. jd ya pake itu mas … makasi uda mampir… 🙂

  12. egun
    April 17, 2010 at 4:51 am

    waduh sayabaru belajar belum mengerti mohon bantuannya

    • April 23, 2010 at 1:03 am

      ya sedikit demi sedikit mas.. 🙂

  13. ashadebieway gimana kawan? ada referensi nggak..
    August 2, 2010 at 10:18 am

    kalo pake sms ga

  14. ashadebi
    August 2, 2010 at 12:18 pm

    hoho salah ketik… 😛
    kalo pake smsgateway gimana kawan? ada referensi nggak..

    Tengkyu..

    • August 9, 2010 at 1:22 am

      waduw mas.. ni blog uda pindah.. jarang tak buka lagi.. 😀

      sms gateway lum coba tuh cak… klo pake sms gateway lebih enakan lagi pake nagios cak.. kek na bisa tuh, pernah baca d docs na.. 😀

  15. October 22, 2010 at 2:39 pm

    Alhamdulilah dapat referensi juga. Makasih mas ilmunya 🙂

    • November 2, 2010 at 7:51 am

      yup.. sm2.. semoga bermanfaat. 🙂

  16. ari
    October 24, 2010 at 3:54 pm

    wah keren otake njenengan.
    lha terus kira-kira sms dari pesbuke bisa pending gak ya, takutnya pending atau telat

    • November 2, 2010 at 7:52 am

      biasa aj mas.. 🙂 ..

      ya itu trgntung dr sms gateway na mas.. tp stahuuku lmayan cpet koq.. y namanya saja gratisan… 🙂 .. tp skrg twitter uda bs sms , so g usa k fb lagi,, langsung dari twitter bs.. method na sama 🙂

  1. No trackbacks yet.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s