Server Status Sederhana

Iseng-iseng di sore hari, hasil google dan sedikit modifikasi. Akhirnya jadi aplikasi kecil yang berguna buat saya, dan mungkin berguna juga buat kamu :D Untuk demo-nya, langsung saja meluncur di sini.

+ Apa fungsi dari script ini ?
- Langsung klik link di atas aja yah :))

Nah, saya akan bahas beberapa file yang ada di dalamnya. :) Silakan dikoreksi jika ada kesalahan yah, maklum ini juga hasil google yang di bongkar dikit banget :”> Ada beberapa file di dalamnya, yaitu status.php, index.php, load.php, live.gif, dead.gif.

File inti dari fungsi status ada pada status.php dan load.php. Berikut adalah file status.php :

//Web Server Status v 1.4, Copyright 2002 By Ryan Schwiebert, visit http://www.schwebdesigns.com/
//This script may be freely distributed providing all copyright headers are kept intact.

//Concept from:
//Abax Server Status v1.04, Copyright 2002 By Nathan Dickman, visit http://www.NathanDickman.com/
//Location of the live or dead server images

//++ Adding Server Loads
//NitrouZ, Kuc3ng

//Please change to your server specifications
$live = "live.gif";
$dead = "dead.gif";
$link = $_GET['link'].":";
$s_link = str_replace("::", ":", $link);
list($addr,$port)= explode (':',"$s_link");
if (empty($port))
{
$port = 80; // port ini bisa diganti apa pun, tinggal menyesuaikan statement if else di bagian bawah aja :P DIY. Default, 80.
}

$churl = @fsockopen(server($addr), $port, $errno, $errstr, 5); // default time out 20s, di setting 5 biar ndak keduluan server timeout :D
$up = false;

if ($churl)
{

$out = "GET / HTTP/1.1\r\n";
$out .= "Host: $addr\r\n";
$out .= "Connection: Close\r\n\r\n";

fwrite($churl, $out);
$status = trim(fgets($churl,128));

$up = $status=='HTTP/1.1 200 OK' ? true : false;
fclose($churl);
}

if ($up)
{
header("Location: $live");
exit();
}
else
{
header("Location: $dead");
exit();
}
function server($addr)
{
if(strstr($addr,"/")){$addr = substr($addr, 0, strpos($addr, "/"));}
return $addr;
}

?>

Fungsi dari status.php adalah melakukan cek pada port 80 situs yang dituju. Pastikan cURL pada webserver Anda aktif untuk menjalankan fungsi ini. Lalu yang kedua adalah file load.php :

//GET SERVER LOADS
$loadresult = @exec('uptime');
preg_match("/averages?: ([0-9\.]+),[\s]+([0-9\.]+),[\s]+([0-9\.]+)/",$loadresult,$avgs);

//GET SERVER UPTIME
$uptime = explode(' up ', $loadresult);
$uptime = explode(',', $uptime[1]);
$uptime = $uptime[0].', '.$uptime[1];
$data .= "Server Load Averages $avgs[1], $avgs[2], $avgs[3]
";
$data .= "Server Uptime $uptime
";

?>

Fungsi dari file load.php adalah optional, Anda bisa meniadakan bila tidak diperlukan :) Hanya sebagai bumbu manis saja biar terlihat cantik saat di load :D Untuk selanjutnya, silakan di explorasi sendiri. Untuk scriptnya, silakan download di sini.

Category:  
You can follow any responses to this entry through the RSS 2.0 feed. You can leave a response.
0 Responses