Monitoramento simples de servidores
Publicado por Alessandro Dias 18/05/2007 (última atualização em 09/09/2015)
[ Hits: 33.463 ]
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>
Script PHP para fazer UPLOAD de arquivos
Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].
Monitoramento simples de servidores
Verifica porta aberta por faixa de ip's
Como extrair chaves TOTP 2FA a partir de QRCODE (Google Authenticator)
Linux em 2025: Segurança prática para o usuário
Desktop Linux em alta: novos apps, distros e privacidade marcam o sábado
IA chega ao desktop e impulsiona produtividade no mundo Linux
Novos apps de produtividade, avanços em IA e distros em ebulição agitam o universo Linux
Como instalar o repositório do DBeaver no Ubuntu
Como instalar o Plex Media Server no Ubuntu
Digitando underscore com "shift" + "barra de espaços"
Como ativar a lixeira e recuperar aquivos deletados em um servidor Linux
Como mudar o nome de dispositivos Bluetooth via linha de comando
Problemas com Driver NVIDIA (0)
Programa fora de escala na tela do pc (19)
Fedora KDE plasma 42 X Módulo de segurança BB (Warsaw-2) (1)









