From bin man to web developer in one blog Using includes to reduce your workload
Jun 30

This script is nice and neat. It will check your services based on port number and works great in both Windows and Linux/UNIX. Give it a try, we use it regularly.

PHP Code: <?php
$data
.=
<style>
td,body
{
font-family: Arial, Helvetica, sans-serif;
font-size: 8pt;
color: #444444;
}
</style>
<br>
<center>
<div style=\”border-bottom:1px #999999 solid;width:480px;\”><b>
<font size=’1′ color=’#3896CC’>Service Status</font></b>
</div>
</center>
<br>”
;

//configure script
$timeout = “1″;

//set service checks
$port[1] = “80″; $service[1] = “Apache”; $ip[1] =“”;
$port[2] = “21″; $service[2] = “FTP”; $ip[2] =“”;
$port[3] = “3306″; $service[3] = “MYSQL”; $ip[3] =“”;
$port[4] = “25″; $service[4] = “Email(POP3)”; $ip[4] =“”;
$port[5] = “143″; $service[5] = “Email(IMAP)”; $ip[5] =“”;
$port[6] = “2095″; $service[6] = “Webmail”; $ip[6] =“”;
$port[7] = “2082″; $service[7] = “Cpanel”; $ip[7] =“”;
$port[8] = “80″; $service[8] = “Internet Connection”; $ip[8] =“google.com”;
$port[9] = “2086″; $service[9] = “WHM”; $ip[9] =“”;

//count arrays
$ports = count($port);
$ports = $ports + 1;
$count = 1;

//beggin table for status
$data .= “<table width=’480′ border=’1′ cellspacing=’0′ cellpadding=’3′ style=’border-collapse:collapse’ bordercolor=’#333333′ align=’center’>”;

while($count < $ports){

if($ip[$count]==“”){
$ip[$count] = “localhost”;
}

$fp = @fsockopen(“$ip[$count]“, $port[$count], $errno, $errstr, $timeout);
if (!
$fp) {
$data .= “<tr><td>$service[$count]</td><td bgcolor=’#FFC6C6′>Offline </td></tr>”;
} else {
$data .= “<tr><td>$service[$count]</td><td bgcolor=’#D9FFB3′>Online</td></tr>”;
}
$count++;

}

//close table
$data .= “</table>”;

echo $data;
?>

Simply paste this into your page to display server status of the current box.


I forgot to add that it is currently coded for showing linux CPANEL status. VERY easy to edit though, simply change the port numbers and their descriptions to display whatever you like (windows or NIX)

e.g - to monitor a windows box running IIS on port 8080, simply change:

PHP Code:

$port[1] = “80″; $service[1] = “Apache”; $ip[1] =“”;

to

PHP Code:

$port[1] = “8080″; $service[1] = “IIS”; $ip[1] =“”;

Share and Enjoy:
  • Digg
  • Sphinn
  • del.icio.us
  • Facebook
  • Mixx
  • Google
  • Technorati
  • BlinkList
  • Live
  • Reddit
  • Slashdot
  • StumbleUpon

Technorati Tags: , , , , , , , , , , , , , , , , , , ,

Leave a Reply