script cupu buat ngecek parent/sibling proxy yang down

Bismillahirrahmanirrahiim….

jadi gini nih ceritanya… karena suatu proxy/cache server membutuhkan hubungan dengan parent/sibling langsung dari luar network kita, dan kebetulan di mesin cache yang ada ini masih belum ada sistem seperti itu, maka kepikiranlah buat ngebikin satu sistem yang ngecek automatic ke parent/sibling tsb.

Sistem itu rencananya harus ngasi notifikasi via mail kalo server-server parent/sibling nya mati/down.kenapa ?? y sering kali kita tuh gtaw kenapa tiba2 internet jadi lebih lemot dari biasanya, atau bahkan mati…setelah di cek manual, ternyata si parent proxy nya yang matek….y gbisa ngapa2in…;)) , pasrah aja….tapi biar lebih efektif dan fleksibel… ( halah..apaan siy… :D ) kepikiran buat bikin sistem yang bisa ngecek otomatis apa si parent2 tsb idup atow matek….

Nah, masuk ke teknisnya skrg….requirement dari tutorial ini ya paling bisa make editor vi ato apapunlah , trus bisa console dikit ama squid yang udah terinstall sempurna, asumsi OS nya udah terinstall sempurna, mu freeBSD kek atow lin*x cupz kek gpapa.. cuman sedikit ngoprek2 perl n Bourne shell serta tool paling sakti ( crontab hehehe…gw musti bilang, crontab ini mungkin yang tool2 yang sangat sakti, semua task-task yang time-based scheduling itu bisa terhendel ma tool ini…), jadi deh. Jadi Scenario nya gini, kita bakal bikin 2 script biar sistem tersebut jalan, script pertama make perl, ini berfungsi buat ngecek langsung via IO socket ke parent-parent tersebut. Nahh.. script kedua make Bourne Shell( lebih terkenal dengan sh ) buat sistem notifikasi ke kita nya.

Tapi sebelumnya perlu saiah bilang,, ini cuman diperlukan kalo server yang pgn kita liat itu berada di luar Network yang kita kuasai dan kita cuman pengen ngeliat kalo2 si server tersebut idup ato matek…( kalo masi 1 network siy nda perlu make ginian, install cacti ato jffnms aja lebih mantep n indah…well, i think…Network is all about art… :D

okeh..tanpa bnyak babibu lagi langsung aja yah…. perl script nya kira2 kyk gini…

#!/usr/bin/perl -w

use strict;

use IO::Socket;

my $host = “”;

my $port = “”;

my $handle = 0; unless (@ARGV == 2) { die “usage: $0 host port” }

($host, $port) = @ARGV; $handle = IO::Socket::INET->new(Proto => “tcp”, Timeout => “10″, PeerAddr => $host , PeerPort => $port);

if ($handle) {

print “1″;

}

else {

print “0″;

} exit;

kemudian kita simpan di suatu tempat, terserah di mana aja , misalnya di /home/admin/script dengan nama kucing1.pl ,trus untuk generate script notifikasi nya kita bikin kyk gini :

#!/bin/sh

cat /dev/null > /path/to/output.txt ! output file tempat laporan ntar….

tanggal=`date`

sleep 15

echo “Date/Time: $tanggal” >> /path/to/output.txt

echo “” >> /path/to/output.txt

status1=”$(/home/admin/script/kucing1.pl 123.231.242.221 )” ! 123.231.242.221 IP parent proxy yang mu dicek…

mail=”admin@kucing.com” ! mail kitah nya…

subject=”[peer-status]Proxy Peer Status”

echo “Parent Proxy Server Status” >> /path/to/output.txt

echo “” >> /path/to/output.txt

if [ $status1 -eq 0 ]; then

cat ” /path/to/output.txt” | mail -s “$subject” “$mail”

echo “***CRITICAL : Parent Proxy ( 123.231.242.221) is Down” >> /path/to/output.txt

echo “” >> /path/to/output.txt

else

echo “***RECOVERY : Parent proxy ( 123.231.242.221) is Up” >> /path/to/output.txt

fi

script di atas kita simpan dgn nama terserah kita juga, misal test.sh kemudian tinggal di set aja di crontab biar test.sh tsb jalan tiap selang waktu yg kita mau. misal nya dia bakal ngecek tiap 5 menit sekali. nah, si /path/to/output.txt itu bisa diatur sesuka hati aja. mau letakin di web direktori biar bisa diakses langsung via web juga monggo… simple kan….

contoh file output.txt diatas ntar isinya kira2 kyk gini…

Date/Time: Wed Jun 25 10:45:02 WIT 2008

***CRITICAL : Parent Proxy ( 123.231.242.221) is Down (kalo lagi down) , ato
***RECOVERY : Parent proxy ( 123.231.242.221) is Up

( tapi karena kita udah set buat ngasi notifikasi hanya saat down, jadi kalo g dapet notiffikasi ke email artinya aman2 aja…halah,,ribet banget..harus belajar bahasa indonesia yg baik dan benar lagi nih saiah,,,,)

sekian..semoga bisa bermanfaat,,,,, :D

~ by fithraleizure on June 24, 2008.

Leave a Reply

You must be logged in to post a comment.