Monitoramento de Temperatura do Servidor

Publicado por Carpegieri Torezani (última atualização em 19/02/2019)

[ Hits: 3.682 ]

Homepage: www.carpegieri.com.br

Download temperatura.php




O presente script tem como objetivo monitorar a temperatura do servidor, exibindo informações do Processador, Placa Mãe, Cooler, HDs.

Obs.: necessário ter instalados os programas sensors, hddtemp e permitir o PHP executar comandos no Shell.

  



Esconder código-fonte

<?php
// Este Script foi desenvolvido por Carpegieri Torezani
//Você pode usa-lo modifica-lo desde que mantenha os devidos créditos
// Contato: carpegieri@gmail.com
// Telefone: (27)3729-1986

//Buscar informações no sistema
$temp=shell_exec("sudo sensors");
$Dados= explode("\n", $temp);

//Processar e formatar informações do processador
$processador=str_replace("CPU Temperature:", "", $Dados[10]);
$processador=str_replace("(high = +60.0 C, crit = +95.0 C)", "", $processador);
$processador=str_replace("+", "", $processador);

if(intval($processador) < 55){$situacaoprocessador='<font color=#01725e><b>Temperatura Ideal';}
if(intval($processador) > 54 && intval($processador) < 70){$situacaoprocessador='<font color=red><b>Temperatura Alta<img src="../imagem/temp_alta.png" align="center" width="40" height="40">';}
if(intval($processador) > 69){$situacaoprocessador='<font color=red><b>Temperatura Critica Perigo Eminente<img src="../imagem/alerta.gif" align="center" width="40" height="40">';}

$processador=str_replace(" C", "° Graus Celsius", $processador);

//Processar e formatar informações da placa mãe
$placamae=str_replace("MB Temperature: ", "", $Dados[11]);
$placamae=str_replace("(high = +45.0 C, crit = +75.0 C)", "", $placamae);
$placamae=str_replace("+", "", $placamae);
if(intval($placamae) < 45){$situacaoplacamae='<font color=#01725e><b>Temperatura Ideal';}
if(intval($placamae) > 44 && intval($placamae) < 60){$situacaoplacamae='<font color=red><b>Temperatura Alta<img src="../imagem/temp_alta.png" align="center" width="40" height="40">';}
if(intval($placamae) > 59){$situacaoplacamae='<font color=red><b>Temperatura Critica Perigo Eminente<img src="../imagem/alerta.gif" align="center" width="40" height="40">';}

$placamae=str_replace(" C", "° Graus Celsius", $placamae);

//Processar e formatar informações do cooler
$cooler=str_replace("CPU FAN Speed: ", "", $Dados[6]);
$cooler=str_replace("(min =  600 RPM, max = 7200 RPM)", "", $cooler);
if(intval($cooler) > 7000 && intval($cooler) < 600){$situacaocooler='<font color=red><b>Cooler com Problemas<img src="../imagem/alerta.gif" align="center" width="40" height="40">';}
else {$situacaocooler='<font color=#01725e><b>Funcionamento Ideal';}
$cooler=str_replace("RPM", "Rotações por Minuto", $cooler);

//Buscar informações no sistema sobre HDs e formatar as informações
$HD1=shell_exec("sudo hddtemp /dev/sda");
$HD1=str_replace("/dev/sda: ", "", $HD1);
$HD1=str_replace(" C", "° Graus Celsius", $HD1);

$HD2=shell_exec("sudo hddtemp /dev/sdb");
$HD2=str_replace("/dev/sdb: ", "", $HD2);
$HD2=str_replace(" C", "° Graus Celsius", $HD2);

$HD4T=shell_exec("sudo hddtemp sata:/dev/sdc");
$HD4T=str_replace("/dev/sdc: ", "", $HD4T);
$HD4T=str_replace(" C", "° Graus Celsius", $HD4T);

//Saída dos dados formatados em tabela
echo '
<html>
<META HTTP-EQUIV="REFRESH" CONTENT="5;URL=temperatura.php">
<link rel="shortcut icon" href="../imagem/sc.ico">
<body><center>
<table border=5 width=50% cellspacing=10 bordercolor="#01725e">
<tr><td height="40" bgcolor="#01725e" colspan=2><center><b><font color=white>Temperatura</td></tr>
<tr><td><font color=red><b>Processador</td><td><font color=#01725e><b>'.$processador.' - '.$situacaoprocessador.'</td></tr>
<tr><td><font color=red><b>Placa Mãe</td><td><font color=#01725e><b>'.$placamae.' - '.$situacaoplacamae.'</td></tr>
<tr><td><font color=red><b>Cooler Processador</td><td><font color=#01725e><b>'.$cooler.' - '.$situacaocooler.'</td></tr>
<tr><td><font color=red><b>HD SDA</td><td><font color=#01725e><b>'.$HD1.'</td></tr>
<tr><td><font color=red><b>HD SDB</td><td><font color=#01725e><b>'.$HD2.'</td></tr>
<tr><td><font color=red><b>HD USB 4TB</td><td><font color=#01725e><b>'.$HD4T.'</td></tr>
</table>
</body>
</html>';

?>

Scripts recomendados

MY SQL

WebUI: framework para criação de interfaces para Web

Cron - Classe PHP para cálculo da diferença entre duas datas

Biblioteca de classes para facilitar a criação de formulários e conexão ao MySQL

Cria gráficos para monitoramento de consumo de CPU e Memória a partir de arquivos [Atualização].


  

Comentários

Nenhum comentário foi encontrado.


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts