Monitoramento simples de servidores

Publicado por Alessandro Dias 18/05/2007 (última atualização em 09/09/2015)

[ Hits: 33.138 ]

Download monitor.tar.gz

Download 1441216625.monitor.tar.gz (versão 2)




Este script, que se encontra na versão 1.0, faz um monitoramento simples (IP e portas) de seus servidores ou equipamentos.

Você informa quais máquinas e portas serão monitoradas pelo script. Para isso altere o arquivo de configuração "monitor.conf" conforme os comentários.

  



Versões atualizadas deste script

Versão 2 - Enviado por Alessandro Dias em 02/09/2015

Changelog: Corrigindo o script!

Download 1441216625.monitor.tar.gz


Esconder código-fonte

<?php
// Programa para monitoramento de rede
// Desenvolvido por: Alessandro Dias
// Data: 03/05/2007
// ------------------------------------------------- 

// ------------------------------------------------- Funcoes
include "functions.php";

//-----------Lê o arquivo de configuração
$conf=ler_config("monitor.conf");

$autor=$conf[0]["autor"];
$titulo=$conf[0]["titulo"];
$nr_servidores=$conf[0]["nr_servidores"];

//------ VERIFICACAO DO STATUS DAS MAQUINAS
for ($i=1;$i<=$nr_servidores;$i++) {
     $ip[$i] = $conf[$i]["ip"];
     $ip[$i] = gethostbyname($ip[$i]);
     $ok=testa_ping($ip[$i]);
    $resp=1; 
     if (!$ok)
         $serv_status[$i] = $DESLIGADO;
     else 
     {        //---------------------- ping ok
        $portas=explode(",",$conf[$i]["portas"]);  
       for ($j=0;$j<count($portas);$j++) {
             $ok_porta[$i][$portas[$j]]=testa_porta($ip[$i],$portas[$j]);
          $resp &= $ok_porta[$i][$portas[$j]];
       }   
         if ($resp)
                 $serv_status[$i] = $LIGADO;
             else
                 $serv_status[$i] = $SEM_SERVICO;
          
       $topico[$i] = $conf[$i]["topico"]; 
       $serv_img[$i]=retorna_imagem($serv_status[$i]); 
     }
}

for ($i=$nr_servidores+1;$i<=12;$i++) {
    //------------------------------ 
    $topico[$i] = " ";  
     $serv_status[$i]=$VAGO;
    $serv_img[$i]=retorna_imagem($serv_status[$i]); 
    //------------------------------ 
}

?>


<HTML>
<HEAD>
<style type="text/css">
div {
position: absolute;
left: 200px;
top: 400px;
background-color: #ffffff;
width: 450px;
padding: 10px;
color: black;
border: #0000cc 2px;
display: none;
-moz-opacity: 0.85;
opacity: 0.85;
filter: alpha(opacity=85);
}
</style>

<script language="JavaScript">
function setVisibility(id, visibility, x, y) {
   document.all[id].style.left = x;
   document.all[id].style.top = y;
   document.all[id].style.display = visibility;
}
</script>

<SCRIPT TYPE="text/javascript">
<!--
function popup(mylink, windowname)
{
if (! window.focus)return true;
var href;
if (typeof(mylink) == 'string')
   href=mylink;
else
   href=mylink.href;
window.open(href, windowname, 'width=700,height=300,scrollbars=yes');
return false;
}
//-->
</SCRIPT>

<TITLE>MONITORAMENTO DE SERVIDORES</TITLE>

<!--
<meta http-equiv="refresh" content="60"> 
-->
</HEAD>


<HEAD>

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=iso-8859-1">

</HEAD>

<BODY BGCOLOR=#000000 LEFTMARGIN=0 TOPMARGIN=0 MARGINWIDTH=0 MARGINHEIGHT=0>
<FONT COLOR="white" SIZE=5 TYPE="arial"><?=$titulo?></FONT>

<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0>

    <TR>

       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[1]?>', 'inline', 350, 50);" 
                 onMouseOut="setVisibility('<?=$topico[1]?>','none',0,0);" 
             SRC="images/<?=$serv_img[1]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[2]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[2]?>','none',0,0);" 
             SRC="images/<?=$serv_img[2]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[3]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[3]?>','none',0,0);" 
             SRC="images/<?=$serv_img[3]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
   </TR>
   <TR>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[1]?></FONT></TD>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[2]?></FONT></TD>
      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[3]?></FONT></TD>

   </TR>

   <TR>

       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[4]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[4]?>','none',0,0);" 
             SRC="images/<?=$serv_img[4]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[5]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[5]?>','none',0,0);" 
             SRC="images/<?=$serv_img[5]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[6]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[6]?>','none',0,0);" 
             SRC="images/<?=$serv_img[6]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
   </TR>
   <TR>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[4]?></FONT></TD>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[5]?></FONT></TD>
      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[6]?></FONT></TD>

   </TR>

   <TR>

       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[7]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[7]?>','none',0,0);" 
             SRC="images/<?=$serv_img[7]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[8]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[8]?>','none',0,0);" 
             SRC="images/<?=$serv_img[8]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[9]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[9]?>','none',0,0);" 
             SRC="images/<?=$serv_img[9]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
   </TR>
   <TR>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[7]?></FONT></TD>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[8]?></FONT></TD>
      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[9]?></FONT></TD>

   </TR>

   <TR>

       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[10]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[10]?>','none',0,0);" 
             SRC="images/<?=$serv_img[10]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[11]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[11]?>','none',0,0);" 
             SRC="images/<?=$serv_img[11]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
       <TD>
          <IMG onMouseOver="setVisibility('<?=$topico[12]?>', 'inline', 300, 50);" 
                 onMouseOut="setVisibility('<?=$topico[12]?>','none',0,0);" 
             SRC="images/<?=$serv_img[12]?>" 
             WIDTH=100 HEIGHT=100 BORDER=0>
      </TD>
   </TR>

   <TR>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[10]?></FONT></TD>

      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[11]?></FONT></TD>
      <TD ALIGN="center"><FONT COLOR="white"><?=$topico[12]?></FONT></TD>

   </TR>

</TABLE>
<BR>
<TABLE BORDER=1 CELLPADDING=0 CELLSPACING=0>

   <TR>
      <TD COLSPAN=2 ALIGN="center"><FONT COLOR="white">LEGENDA</FONT></TD>
   </TR>
   <TR>

      <TD><IMG SRC="images/mini-verde.jpg" ALT=""></TD>
      <TD ALIGN="center"><FONT COLOR="white">OK</FONT></TD>
   </TR>
   <TR>

      <TD><IMG SRC="images/mini-vermelho.jpg" ALT=""></TD>
      <TD ALIGN="center"><FONT COLOR="white"> SEM SERVICO </FONT></TD>
   </TR>
   <TR>

      <TD><IMG SRC="images/mini-azul.jpg" ALT=""></TD>
      <TD ALIGN="center"><FONT COLOR="white"> ATENCAO </FONT></TD>
   </TR>
   <TR>

      <TD><IMG SRC="images/mini-preto.jpg" ALT=""></TD>
      <TD ALIGN="center"><FONT COLOR="white"> DESLIGADO </FONT></TD>

   </TR>
   <TR>

      <TD><IMG SRC="images/mini-branco.jpg" ALT=""></TD>
      <TD ALIGN="center"><FONT COLOR="white"> VAGO </FONT></TD>

   </TR>
</TABLE>

<BR><FONT COLOR="white"><?=$autor?></FONT>

<? for ($i=1;$i<=$nr_servidores;$i++) { ?>

  <div id="<?=$topico[$i]?>"><table>
                 <tr><td colspan=2><font color=darkblue><?=$topico[$i]?></font> (<?=$ip[$i]?>)</td></tr>
        <?  if($serv_status[$i] == $DESLIGADO) 
                 $corpo="<tr><td>TURN OFF</td></tr>";
            else { 
             $corpo=""; 
             $portas=explode(",",$conf[$i]["portas"]);   
             for ($j=0;$j<count($portas);$j++) { 
                     if ($ok_porta[$i][$portas[$j]])
                         $corpo.="<tr><td width=160>tcp/".$portas[$j]."</td><td><font color=green>ON</font></td></tr>";
                     else
                         $corpo.="<tr><td width=160>tcp/".$portas[$j]."</td><td><font color=red>OFF</font></td></tr>";
             }
            }  ?>
  <?=$corpo?>
  </table></div>
<? } ?>


</BODY>

</HTML>

Scripts recomendados

PHP Script para testar ping de varios enderecoes em arquivo TXT

Firewall Admin 0.2b

FTP

Verifica porta aberta por faixa de ip's

Exibir IP do cliente


  

Comentários
[1] Comentário enviado por lanux em 20/05/2007 - 10:09h

Corrige aí...

Erro: arquivo monitor.tar.gz não encontrado !

[2] Comentário enviado por diaspcf em 21/05/2007 - 17:24h

Pessoal, não sei o que está havendo, mas todos os meus scrits estão com esse problema. Já entrei em contato várias vezes com os moderadores pelo email do suporte, mas até agora nenhum retorno!!!
Caso alguem queira o script, me mande uma mensagem com o email que eu mando, ok?
Att.
Alessandro.

[3] Comentário enviado por emanueljp em 16/09/2007 - 15:59h

Alessandro gostaria de receber o script.
Por favor envie para o email emanueljp@goyas.com.br
Grato,
Emanuel

[4] Comentário enviado por jgilcustodio em 24/09/2008 - 16:23h

Alessandro
Estou precisando também de seu script se você puder manda no meu email eu agradeceria.
Segue meu e-mail: junior@gazin.com.br

Obrigado,
Junior

[5] Comentário enviado por leandroc_rj em 15/10/2008 - 10:24h

Bom dia, Alessandro,

Por favor, envie o arquivo também para mim: "leandroc_rj@ig.com.br".

Obrigado, Leandro.

[6] Comentário enviado por megapoint em 10/11/2008 - 15:36h

Opa Alessandro...

Gostaria de receber também, adriano@pien.pr.gov.br

valew

Adriano

[7] Comentário enviado por coastbr em 25/02/2009 - 13:33h

Opa Alessandro...

Gostaria de receber também, renatoluan@gmail.com

[8] Comentário enviado por rsribas em 01/09/2009 - 16:30h

Caro Alessandro,

Favor enviar para o e-mail: rsribas@gmail.com

grato.

[9] Comentário enviado por rribeirorj em 17/02/2010 - 13:26h

Caro Alessandro,

Se possível, me envie o script?

rodrigo@rodrigo.org

Atenciosamente.

[10] Comentário enviado por kappaum em 29/06/2010 - 09:44h

Alessandro,

Gostaria de receber o script.

kappaum@oi.com.br

Desde já agradeço.

[11] Comentário enviado por dtux em 17/08/2010 - 07:49h

Alessandro,

Gostaria de receber o script por e-mail.

diego.grassato@gmail.com

Desde já agradeço.

[12] Comentário enviado por jotajunior em 14/12/2010 - 09:08h

Alessandro,

Gostaria de receber o script por e-mail:

junior@farramonte.com

Muito Obrigado.

[13] Comentário enviado por lord_vagner em 15/03/2011 - 17:20h

Alessandro
Se possivel, envie o script para vagner.nogueira@gmail.com
Obrigado.

[14] Comentário enviado por eder.mvitor em 02/08/2011 - 15:45h

Alessandro,

cara to procurando algo assim como seu script sera que poderia enviar para eder.mvitor@gmail.com
desde ja agradeco.

[15] Comentário enviado por h474k3 em 30/08/2011 - 22:40h

Alessandro,
Você poderia me mandar este arquivo (monitor.tar.gz) por e-mail andredeoterra@gmail.com estou precisando de algo com esta funcionalidade, e acho que seu script pode me ajudar.
Obrigado.

[16] Comentário enviado por luizcotrin em 20/10/2011 - 06:02h

Olá Alessandro, tudo bem?
Quando puder você me envia o aquivo monitor.tar.gz, por favor.

Obrigado

[17] Comentário enviado por josef em 12/02/2012 - 06:22h

Cara, manda ai: patipy@yahoo.com.br, valeu

[18] Comentário enviado por geraldobjr em 23/02/2012 - 08:38h

amigo, pode me enviar por email tbm ??
geraldobjr@gmail.com

[19] Comentário enviado por raynerson em 26/02/2012 - 12:05h

Alessandro, boa tarde!

Tem como você encaminhar pro meu e-mail também?

e-mail: raynerson@gmail.com

Ficarei muito grato!

Atenciosamente,
Raynerson Moura

[20] Comentário enviado por guilhermeTI em 18/07/2013 - 13:24h

Opa!

por favor, envia para mim também:
guilherme_auras@hotmail.com

ficarei muito grato!

aguardo!

[21] Comentário enviado por victor_angelo23 em 08/10/2013 - 14:48h

Por favor alguém poderia enviar pra mim esse monitor de servidor e equipamento!!

Ficarei aguardando,

Atenciosamente,
Victor Silva

[22] Comentário enviado por victor_angelo23 em 08/10/2013 - 15:01h

Esqueci de postar meu E-mail no comentário anterior é victor_angelo@hotmail.com

[23] Comentário enviado por rac7 em 06/01/2014 - 11:14h

Bom dia!
tem como mandar no meu e-mail racgiga@gmail.com

obrigado!

[24] Comentário enviado por removido em 17/04/2014 - 15:12h

gostaria de receber o script

[25] Comentário enviado por rochaigo em 15/07/2014 - 15:24h

Ola Alessandro, por gentileza gostaria de receber o script, meu e-mail igor.ribeirorocha@gmail.com
Abraço

[26] Comentário enviado por ordiley em 10/10/2014 - 20:14h

Boa noite Alessandro,

Gostaria de receber o arquivo monitor.tar.gz
ordiley@gmail.com

Obrigado!

[27] Comentário enviado por milton7766 em 02/09/2015 - 14:52h

Boa Tarde, Caro Alessandro,

Gostaria de receber o arquivo " monitor.tar.gz "
voce@enviou.me

Um Cordial Abraço e
Obrigado!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts