Monitorando portas de hosts com PHP e MySQL
Dica publicada em PHP / Rede
Monitorando portas de hosts com PHP e MySQL
Olá, vim falar um pouco do script que montei para monitorar portas de hosts usando o @fsockopen. Com o @fsockopen você pode fazer vários outros tipos de monitoramento e testes.
Manual:
Vamos lá: neste script fiz o uso do PHP e MySQL para monitorar vários hosts que tenho em minha rede, porque não usei o Cacti ou coisa do tipo? Porque esses hosts faço o monitoramento dentro de um sistema e já utilizo as referências do IP dos servidores.
O script é bem simples, executo uma query e monto um while e depois faço a validação verificando o status o host, dei uma simplificada no script para o fácil entendimento.
Obrigado e até a próxima.
Manual:
Vamos lá: neste script fiz o uso do PHP e MySQL para monitorar vários hosts que tenho em minha rede, porque não usei o Cacti ou coisa do tipo? Porque esses hosts faço o monitoramento dentro de um sistema e já utilizo as referências do IP dos servidores.
O script é bem simples, executo uma query e monto um while e depois faço a validação verificando o status o host, dei uma simplificada no script para o fácil entendimento.
<?php
//Query do MySQL recuperando apenas os IPs
$resultado = mysql_query("SELECT ip from unidades where status='1'");
while ($linha2=mysql_fetch_row($resultado)) {
$ip_status = $linha2[0];
//Aqui eu fico monitorando a porta 80 mais vocês podem monitorar outras como por exemplo a porta 22
$port = "80";
//Validando porta dos ips
if ($check=@fsockopen($ip_status,$port,$ERROR_NO,$ERROR_STR,(float)0.5)) {
fclose($check);
echo 'Online';
} else {
echo 'Offline';
}
}
?>
//Query do MySQL recuperando apenas os IPs
$resultado = mysql_query("SELECT ip from unidades where status='1'");
while ($linha2=mysql_fetch_row($resultado)) {
$ip_status = $linha2[0];
//Aqui eu fico monitorando a porta 80 mais vocês podem monitorar outras como por exemplo a porta 22
$port = "80";
//Validando porta dos ips
if ($check=@fsockopen($ip_status,$port,$ERROR_NO,$ERROR_STR,(float)0.5)) {
fclose($check);
echo 'Online';
} else {
echo 'Offline';
}
}
?>
Obrigado e até a próxima.