Monitoramento simples de servidores
Publicado por Alessandro Dias 18/05/2007 (última atualização em 09/09/2015)
[ Hits: 32.849 ]
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ão 2 - Enviado por Alessandro Dias em 02/09/2015
Changelog: Corrigindo o script!
Download 1441216625.monitor.tar.gz
<?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>
Monitoramento simples de servidores
php-scan-rede - scanner de rede simples em PHP
Resolvendo IP para Hostname em PHP
Script PHP para fazer UPLOAD de arquivos
Antivírus ClamAV com proteção em tempo real
Instalação do Comodo Antivirus para Linux (CAVL) resolvendo o problema de dependências
VirtualBox: a forma mais fácil de conhecer o Linux sem precisar instalá-lo
Hot Dog Linux - interface gráfica que imita o Windows 3.1, Mac OS clássico e Amiga
Instalar Conky no Slackware 15
Brasfoot 22-23 rodando nativamente no Linux
Instalar Google Chrome no Slackware 15
Como checar a temperatura do processador via linha de comando
Vem ai a tecnologia de projeção espacial (holograma) (3)
Como configurar o som no Linux Mint 21? (4)
Meu HD fica lotando aparentemente sem motivo acabei de perder mais de ... (5)









