Re: [PHP] Monitoring Remote Server Services using php !

2006-05-30 Thread Phil Martin

I did the following, I've followed your advice and wrote my own, that is
listed below. It's a function that has 3 entry arguments, IP, Port and
Protocol. It returns if the Service is UP or DOWN. Take a Look, and see if
we can enhance it's speed.


function servstatus($remote_ip, $remote_ip_port, $remote_ip_proto) {

if ($remote_ip_proto == tcp) {
   $socket = socket_create(AF_INET, SOCK_STREAM, SOL_TCP);

   // Turning off Warning Messages
   $i_error_old=error_reporting();
   error_reporting($i_error_old  ~ (E_WARNING));

   if ($connect = socket_connect($socket, $remote_ip,  .
$remote_ip_port . )) {
   return true;
   socket_set_block($socket);
   socket_close($socket);
   unset($connect);
   } else {
   return false;
   socket_set_nonblock($socket);
   socket_close($socket);
   unset($connect);}

} else {

   // Turning off Warning Messages
   $i_error_old=error_reporting();
   error_reporting($i_error_old  ~ (E_WARNING));

   $socket = fsockopen(udp://$remote_ip, $remote_ip_port, $errno,
$errstr, 2);
   $timeout = 1;

   if (!$socket) {
   return true;
   }

   socket_set_timeout ($socket, $timeout);
   $write = fwrite($socket,\x00);
   if (!$write) {
   return true;
   }

   $startTime = time();
   $header = fread($socket, 1);
   $endTime = time();
   $timeDiff = $endTime - $startTime;

   if ($timeDiff = $timeout) {
   fclose($socket);
   return true;
   } else {
   fclose($socket);
   return false;
   }
   }
}


On 5/25/06, [EMAIL PROTECTED] [EMAIL PROTECTED] wrote:




On Thu, 25 May 2006, Phil Martin wrote:

 Hi everybody,

 I'm new to the list and also new to php, I hope I can learn many
 things from here.
 My first doubt is the following: I'm trying to create a small
monitor
 system, just to suit my needs in monitoring some services in my
application.
 I've found some functions that return to me the service by port, name
and so
 on (getservbyport, getservbyname). What I need is to monitor remote
server
 services, I mean, lets suppose I have a server 192.168.0.2 with a ssh
server
 running. I'd like to see the status (up/down) of that server from
another
 machine, like 192.168.0.1. I don't want to use some monitoring softwares
out
 there in the web, i know they exist and in fact I use many of them like
 nagios, cacti and so on, but I'm planning to do my own small solution.
What I need is some function that asks me a remote IP, port and
 protocol as input data and results TRUE/FALSE (any boolean value), just
to
 see if the service is up. I did that making a function using nmap, but i
 don't want to hold that solution to linux, I'd like to use it at other
OS.
 My function's syntax is like this

 ?php
 $ssh_status=service_status (192.168.0.2, 22, tcp);
 if ($ssh_status==TRUE); {
 echo Service UP;
 } else {
 echo Service DOWN;
}
 ?


  Does anyone know if there is a similar function in PHP ? I'd be very
 happy if somebody knows about a function like that.

 Thanks in advance

 att.
 Felipe Martins



Why not use php and curl and write your own. Good way to start learning
php. Or you can do like we do and use php and curl to make sure you can
actually get results from the server and use a shell script or php script
on each remote server running from cron every 10/.. minutes that checks
the processes you want monitored and sends an email to a pager if it
detects a problem. That would allow you to not only monitor if a service
is running but also server load, file systems filing up, etc.



[PHP] Monitoring Remote Server Services using php !!!

2006-05-25 Thread Phil Martin

Hi everybody,

 I'm new to the list and also new to php, I hope I can learn many
things from here.
 My first doubt is the following: I'm trying to create a small monitor
system, just to suit my needs in monitoring some services in my application.
I've found some functions that return to me the service by port, name and so
on (getservbyport, getservbyname). What I need is to monitor remote server
services, I mean, lets suppose I have a server 192.168.0.2 with a ssh server
running. I'd like to see the status (up/down) of that server from another
machine, like 192.168.0.1. I don't want to use some monitoring softwares out
there in the web, i know they exist and in fact I use many of them like
nagios, cacti and so on, but I'm planning to do my own small solution.
What I need is some function that asks me a remote IP, port and
protocol as input data and results TRUE/FALSE (any boolean value), just to
see if the service is up. I did that making a function using nmap, but i
don't want to hold that solution to linux, I'd like to use it at other OS.
My function's syntax is like this

?php
$ssh_status=service_status (192.168.0.2, 22, tcp);
if ($ssh_status==TRUE); {
echo Service UP;
} else {
echo Service DOWN;
}
?


  Does anyone know if there is a similar function in PHP ? I'd be very
happy if somebody knows about a function like that.

Thanks in advance

att.
Felipe Martins


Re: [PHP] Monitoring Remote Server Services using php !!!

2006-05-25 Thread chris smith

On 5/25/06, Phil Martin [EMAIL PROTECTED] wrote:

Hi everybody,

  I'm new to the list and also new to php, I hope I can learn many
things from here.
  My first doubt is the following: I'm trying to create a small monitor
system, just to suit my needs in monitoring some services in my application.
I've found some functions that return to me the service by port, name and so
on (getservbyport, getservbyname). What I need is to monitor remote server
services, I mean, lets suppose I have a server 192.168.0.2 with a ssh server
running. I'd like to see the status (up/down) of that server from another
machine, like 192.168.0.1. I don't want to use some monitoring softwares out
there in the web, i know they exist and in fact I use many of them like
nagios, cacti and so on, but I'm planning to do my own small solution.
 What I need is some function that asks me a remote IP, port and
protocol as input data and results TRUE/FALSE (any boolean value), just to
see if the service is up. I did that making a function using nmap, but i
don't want to hold that solution to linux, I'd like to use it at other OS.
My function's syntax is like this

?php
 $ssh_status=service_status (192.168.0.2, 22, tcp);
 if ($ssh_status==TRUE); {
 echo Service UP;
 } else {
 echo Service DOWN;
 }
?


   Does anyone know if there is a similar function in PHP ? I'd be very
happy if somebody knows about a function like that.


No such function exists.

You should check out http://www.nagios.org - it's not php but it does
what you want.

--
Postgresql  php tutorials
http://www.designmagick.com/

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



Re: [PHP] Monitoring Remote Server Services using php !!!

2006-05-25 Thread Rabin Vincent

On 5/25/06, Phil Martin [EMAIL PROTECTED] wrote:

Hi everybody,

  I'm new to the list and also new to php, I hope I can learn many
things from here.
  My first doubt is the following: I'm trying to create a small monitor
system, just to suit my needs in monitoring some services in my application.
I've found some functions that return to me the service by port, name and so
on (getservbyport, getservbyname). What I need is to monitor remote server
services, I mean, lets suppose I have a server 192.168.0.2 with a ssh server
running. I'd like to see the status (up/down) of that server from another
machine, like 192.168.0.1. I don't want to use some monitoring softwares out
there in the web, i know they exist and in fact I use many of them like
nagios, cacti and so on, but I'm planning to do my own small solution.
 What I need is some function that asks me a remote IP, port and
protocol as input data and results TRUE/FALSE (any boolean value), just to
see if the service is up. I did that making a function using nmap, but i
don't want to hold that solution to linux, I'd like to use it at other OS.
My function's syntax is like this

?php
 $ssh_status=service_status (192.168.0.2, 22, tcp);
 if ($ssh_status==TRUE); {
 echo Service UP;
 } else {
 echo Service DOWN;
 }
?


   Does anyone know if there is a similar function in PHP ? I'd be very
happy if somebody knows about a function like that.


You can use php.net/fsockopen.

Rabin

--
PHP General Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php