Fóruns sobre PHP, JavaScript, HTML, MySQLi, jQuery, Banco de Dados, CSS


Moderador: web

 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

20-05-2014 08:58

Olá, alguém sabe uma forma de monitoramento de sites via script ?
quando um determinado cliente e ou site sai do ar por algum motivo no servidor, o suporte que no caso eu receberá um alerta, ou seja um email.

grato;
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

monitoramento de sites

20-05-2014 10:26

Sei que tem alguns sites que fazem isso. Colocam um script no servidor deles, que vai rodando de tempos em tempos. Se o script não retornar o site, então envia um email para você.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

20-05-2014 10:56

existe alguma maneira de desenvolver algum script do tipo para monitoramento?
0
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

20-05-2014 11:39

vi alguma coisa do tipo mas não entendi muito bem, alguém pode ajudar?

segue:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">   <html xmlns="http://www.w3.org/1999/xhtml">   <head>   <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">   <META HTTP-EQUIV="Refresh" CONTENT="60">       <title>.:: WEBMASTER.PT :: Redes de Computadores e o PHP ::.</title>       <link rel="stylesheet" href="3col_rightNav.css" type="text/css">   </head><body>   <div id="masthead">     <h1 id="siteName">WEBMASTER.PT</h1>     <h2 id="pageName">Redes de Computadores e o PHP</h2>   </div>   <div id="content">           <h2>Monitoramento das estações / Servidores</h2>       <div class="story">   <?       // altere a linha abaixo com seu email   $email_admin = "adriano.yaslip@gmail.com.br";       // inclui o ficheiro SERVIDOR.PHP   include "servidor.php";       if(isset($servidor)){       # inicio as variáveis   $l = 0;   $server_out = "";   $f = 0;   $alerta = "";       for($i = 0; $i < count($servidor); $i++){       $linha = explode(":",$servidor[$i]);   $l++;       # executo o ping e verifico se retornou algum byte   $stream = shell_exec("ping -c 1 -t 1 ".$linha[0]);       # se não retornou eu adiciono um contador, exibo na tela em vermelho os dados do servidor, impressoa ou roteador   if(!ereg("bytes from",$stream)){   $a = "I";   $f++;   echo "       <h2>".$linha[1]."</h2>   IP: ".$linha[0]."   "."Status:";       $server_out .= "Nome: ".$linha[1]."   IP: ".$linha[0]."       ";       # Adiciono mais uma tentativa ao meu contador, um arquivo texto desse servidor   if(!file_exists("./".$linha[0].".txt")) shell_exec('touch '.$linha[0].".txt");       $fp = fopen("./".$linha[0].".txt", "r+");   $t = fread($fp,2);   fclose($fp);       # se já houve mais de 35 tentativas, envio um e-mail e zero o contador, lembrando que cada tentativa, tem um intervalo de 1 minuto   if($t >= 35){   $t = 3;   $alerta = "ATENÇÃO, OUTROS ALERTAS JÁ FORAM EMITIDOS PARA ESSE(S) SERVIDOR(S):";   }else   $t++;       # Caso seja o primeiro alerta (depois da 3ª tentativa ele envia um e-mail)   if($t == 4 && !$alerta)   $alerta = "PRIMEIRO ALERTA! (3ª tentativa)";       $fp = fopen("./".$linha[0].".txt", "w");   fwrite($fp, $t);       fclose($fp);       # Gravar Log Erro   $fp2 = fopen("./ERR_".date("d-m-Y").".txt", "a+");   $txt = "\n".date("d/m/Y - H:i:s")."  \t\t".$linha[0]." \t\t".$linha[1];   fwrite($fp2, $txt);       fclose($fp2);       }       # se não houve erro, ele exclui o arquivo de texto (contador) caso esteja criado pois o servidor voltou a responder, então exibo a tela com as informações normais como nome, ip, status e o desenho.   else{   echo "       <h2>".$linha[1]."</h2>   IP: ".$linha[0]."   "."Status:";       # Apaga o arquivo caso esteja pingando   if(file_exists("./".$linha[0].".txt")) unlink("./".$linha[0].".txt");       $a = "A";       # gravo o acerto - só para ter um log   # Gravar Log Acerto   $fp2 = fopen("./OK_".date("d-m-Y").".txt", "a+");   $txt = "\n".date("d/m/Y - H:i:s")."  \t\t".$linha[0]." \t\t".$linha[1];   fwrite($fp2, $txt);       fclose($fp2);   }   echo (ereg("bytes from",$stream))?" Ativo":" Não responde ao ping";       echo " ";       if($l == 4){   echo "       ";   $l = 0;   }       }       # Preparando para o envio de e-mail       if(isset($server_out) && $server_out && isset($alerta) && $alerta){   if($f = 1) $server_out = "".$alerta."       Os Servidores abaixo encontram-se indisponível:       ".$server_out;   if($f > 1) $server_out = "".$alerta."       Os Servidores abaixo encontram-se indisponíveis:       ".$server_out;       # formatando um e-mail, com uma tabela e as informações a serem enviadas   $assunto = "ALERTA - Monitoramento de Servidores";   $msg = "       Alerta: ".date("d/m/Y - H:i:s")."       ".$server_out."       Sistema de Monitoramento<br>QSA Soluções Corporativas       Este é um e-mail automático, por favor não responda essa mensagem.       ";       //adicionando o html no corpo do email   echo "   ";         //enviando e retornando o status de envio   if(mail($email_admin,$assunto,$msg))   echo "Alerta Enviado para (Seu email)";   else   echo "Houve um erro ao  enviar o email! ".$mail->ErrorInfo;       echo " ";       }       }   ?>           </div>       </div>   </body></html>

servidor.php

segue:

<? # IP : nome do servidor # S -> servidor # R -> roteador # P -> impressora $servidor[] = "187.108.192.23:empresasnainternet.com.br:S"; # servidor (S) $servidor[] = "187.108.192.23:qsasolucoescorporativas.com.br:S"; # servidor (S) $servidor[] = "187.108.192.23:repupo.com.br:S"; # servidor (S) $servidor[] = "74.86.244.168:webmasterphp.org:S"; # servidor (S) $servidor[] = "67.228.213.188:webmaster.pt:S"; # servidor (S) $servidor[] = "192.168.0.2:samara:S"; # servidor (S) $servidor[] = "192.169.0.10:roteador:R"; # roteador (R) $servidor[] = "192.168.0.11:DNS2:P"; # impressora (P) ?>

0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

monitoramento de sites

20-05-2014 14:29

Esse arquivo aparentemente faz a verificação no servidor. Ele tem que ser chamado de tempos em tempos, manualmente, ou automaticamente "cron jobs".

Nesse PHP, aparentemente é IP do servidor e domínio

$servidor[] = "187.108.192.23:qsasolucoescorporativas.com.br:S"; # servidor (S) 

Nesse caso, o primeiro arquivo deve ser em PHP. E você tem que achar o IP do domínio para configurar uma linha dos servidores.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

20-05-2014 15:31

tem esse exemplo aqui também:

http://www.revistaphp.com.br/artigo.php?id=86
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

monitoramento de sites

20-05-2014 16:25

Boa.
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

28-05-2014 09:01

preciso de um script que não depende de nada de configuraçao do servidor do cliente, porque terei que trabalhar com milhares de servidores diferentes, muitos não daram suporte a crob jobs e muitas empresas não passam senha da hospedagem. Tem que ser um script que acessa o endereço do site como se fosse um usuário qualquer e retorne com a msg de ok ou nao para um email.

alguém pode me dar um help nessa questão !
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

monitoramento de sites

28-05-2014 10:33

Tem um script em jQuery, jQuery.ajax(). Essa função faz uma requisição a determinada URL. E retorna a resposta, tipo, success "acessou", error "erro".

Como é em jQuery, pode rodar onde precisar. Poderia anexar uma função quando o acesso foi ok, para enviar uma requisição para enviar um email.

http://api.jquery.com/jquery.ajax/
0
A melhor hospedagem para o seu site HostGator!
 
Mais de 100 postagens
Mais de 100 postagens
Tópico Autor
Mensagens: 291

monitoramento de sites

30-05-2014 14:26

sinceramente !, não entendo e não entendi nada sobre esse script em ajax.
0
 
Avatar do usuário
ADMIN
ADMIN
Mensagens: 17671
Nome: Kleber
Descrição do site: Onde você encontra scripts grátis para o seu site
Sexo: Masculino
Localização: RJ / RJ / Brasil
Contato:

monitoramento de sites

30-05-2014 15:32

Esse script é bem simples, funciona como nesse exemplo

<script src="jquery.js"></script>   <script> $(document).ready(function() {   function erro() { alert('link offline'); }   $.ajax({   url: "http://www.codigosnaweb.com/indexa.php",   dataType: "script",   error: erro });   }); </script>

Não existe o arquivo indexa.php no domínio, então retorna a mensagem da função erro().

No caso, teria que dentro da função erro fazer uma requisição jQuery para enviar o email.
0
A melhor hospedagem para o seu site HostGator!

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado