Criando um painel de rede em PHP 
Este artigo mostra como criar um painel para monitorar as máquinas de sua rede. O objetivo do aplicativo é identificar quando um ponto de rede deixa de responder, evitando que alguma máquina que rode serviços essenciais fique fora do ar por muito tempo. 
[ Hits: 97.208  ]
Por: Fábio Berbert de Paula em 04/11/2002   | Blog: https://fabio.automatizando.dev 
 
 
Elaborando o script - parte 1 
A primeira atitude que qualquer administrador de redes toma quando vai verificar a integridade de uma máquina é abrir um terminal e disparar pacotes ICMP com o comando ping contra essa. Está escrito no manual,sempre comece pelos problemas triviais, pois eles são as causas de 99%dos problemas que podem comprometer o funcionamento da rede de sua empresa.
<META HTTP-EQUIV="Refresh" CONTENT="60"> 
Neste caso, nosso script será recarregado a cada 60 segundos. Em seguida, vamos definir o array que contém informações sobre os nossos servidores.
<?
Neste exemplo utilizei dois hosts do meu site, substitua-os com sua própria configuração, mantendo o formato original hostname => ip.
 
      
Páginas do artigo
   1. Elaborando o script - parte 1
   2. 
Elaborando o script - parte 2 
   3. 
Elaborando o script - parte final 
Outros artigos deste autor
 
 
 
 
 
Leitura recomendada
 
 
 
 
 
Comentários
	
		
		
	
	
	
	
	
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							caramba, muito bom hein... faz tempo q uso php e linux, mas nunca tinha pensado em fazer scripts pra administrar a rede... muito interessante...
até me animei, vou pensar em mais coisas q posso fazer assim...
valeu cara... 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Show mesmo. Testei e funcionou. Só que no meu caso precisaria monitorar Hosts que usam o No-IP em outras cidades. Quero dizer, não tem IP Fixo. Como o ip muda todo dia não consegui pois tudo da resposta como online.  Como eu poderia fazer ? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							show, mas agora gostaria de implementar o envio de e-mail? alguem tem esse codigo???? 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							pow cara q shoooooooowww eu estava precisando mto disto só tenho mais uma duvida q vou precisar consultar um forum.
 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							estou iniciando na adm do linux e axei mt bom este artigo. jah vou colocar em pratica. vlw 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Nota 10, sou iniciante e estava procurando um artigo com um  exemplo de monitoramento. Simples porém mas muito eficiente, valeu cara!! 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Artigo Bom!
Warning: shell_exec(): Cannot execute using backquotes in Safe Mode in /var/www/vhosts/servermob.com/httpdocs/painel2.php on line 18
Outra coisa, um apache com acesso a shell_exec() não seria vulnerável pelo fato de poder executar comandos na shell? 
Abraços...
Guilherme.mob@gmail.com 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Excelente artigo!!!
Minha contribuição:
} else {
mail("seuemail@seudominio.com.br","SERVIDOR" .$site, "servidor fora do ar");
apos o else, se o servidor estiver fora do ar, ele manda um email para o seu email com o texto servidor fora do ar.  
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Fantastico isso. Vai me ser util pra umas experiencias!
vlw 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Sei que esse post é meio antigo mas, no caso do windows o comando correto não seria,
$comando = "C:\\windows\\system32\ping -n 1 " . $ip; 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Painel de Monitoramento de Hosts
google
8.8.8.8
Status:
( ! ) Deprecated: Function ereg() is deprecated in C:\wamp\www\ping 001\index.php on line 22
Call Stack
#	Time	Memory	Function	Location
1	0.0004	673944	{main}( )	..\index.php:0
não responde	Serv local
10.100.200.1
Status:
( ! ) Deprecated: Function ereg() is deprecated in C:\wamp\www\ping 001\index.php on line 22
Call Stack
#	Time	Memory	Function	Location
1	0.0004	673944	{main}( )	..\index.php:0
não responde
ta dando esse error amigao como faço pra corrigir  o código ta assim
<!-- painel.php -->
<html>
<head>
<META HTTP-EQUIV="Refresh" CONTENT="60">
</head>
<body>
<h3>Painel de Monitoramento de Hosts</h3>
<table border=1 cellspacing=3>
<tr>
<?php
$servidores = array (
"google" => "8.8.8.8",
"Serv local" => "10.100.200.1"
);
while (list($site,$ip) = each($servidores)) {
$comando = "C:\\windows\\system32\ping -n 1 " . $ip;
$saida = shell_exec($comando);
echo "<td>".$site."<br>".$ip."<br>"."Status:";
if ( ereg("bytes from",$saida) ) {
echo "<b>online</b></td>";
} else {
echo "<font color=red><b>não responde</b></font></td>";
}
}
?>
</tr>
</table>
</body>
</html>
<!-- fim do programa --> 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
	
		
		
	
	
	
	
	
	
		
			
				
				
					
					
						
							Mensagem 
							Amigo ...muito legal esse script ...mas teria como organizar os hosts monitorados no array para que aparecesse em 4 colunas de 10 hosts cada...
$servidores = array (
"Ag. teste1"     => "192.168.0.11",
"Ag. teste2"     => "192.168.0.12",
"Ag. teste3"     => "192.168.0.13",
"Ag. teste4"     => "192.168.0.14",
"Ag. teste5"     => "192.168.0.15",
"Ag. teste6"     => "192.168.0.16",
"Ag. teste7"     => "192.168.0.17",
"Ag. teste8"     => "192.168.0.18",
"Ag. teste9"     => "192.168.0.19",
"Ag. teste10"    => "192.168.0.20",
"Ag. teste11"    => "192.168.0.21",
"Ag. teste12"    => "192.168.0.22",
"Ag. teste13"    => "192.168.0.23",
"Ag. teste14"    => "192.168.0.24",
"Ag. teste15"    => "192.168.0.25",
"Ag. teste16"    => "192.168.0.26",
"Ag. teste17"    => "192.168.0.27",
"Ag. teste18"    => "192.168.0.28",
"Ag. teste19"    => "192.168.0.29",
"Ag. teste20"    => "192.168.0.30",
"Ag. teste21"    => "192.168.0.31",
"Ag. teste22"    => "192.168.0.32",
"Ag. teste23"    => "192.168.0.33",
"Ag. teste25"    => "192.168.0.34",
"Ag. teste26"    => "192.168.0.35",
"Ag. teste27"    => "192.168.0.36",
"Ag. teste28"    => "192.168.0.37",
"Ag. teste29"    => "192.168.0.38",
"Ag. teste30"    => "192.168.0.39",
Desde Já agradeço 
						 
					
	
					 
				 
			 	
			
		 
	 
	 
	
 
Contribuir com comentário 
 
Enviar