Monitoramento de Servidores · 5 min read · Oct 18, 2025
Monitorando Temperaturas de Servidores Linux e Unix Com Opsview
Monitorando Temperaturas de Servidores Linux e Unix Com Opsview
Gerenciar o consumo de energia em um Datacenter é um fator chave para ajudar a manter os custos gerais de energia da empresa baixos e garantir que os servidores estejam funcionando com desempenho ideal. O superaquecimento pode levar a custos aumentados com refrigeração e também corre o risco de fazer com que os servidores falhem.
O software de monitoramento de servidores Opsview pode ser usado para verificar e alertar sobre a temperatura do servidor e também a temperatura de componentes individuais dentro de um servidor (Memória, CPU e Discos rígidos). Limites e alertas podem ser configurados para quando temperaturas críticas forem excedidas, ajudando a manter servidores que operam em altas temperaturas sob controle.
Este post no blog detalha como configurar o Opsview para monitorar a temperatura de servidores Linux e Unix.
Passos:
[ NB: Este guia assume que o sistema que desejamos monitorar já tem o agente Opsview instalado]
1. Como root, precisaremos instalar “lm_sensors” e “hddtemp” (os nomes podem diferir entre distribuições Linux); no CentOS/RHEL, eles são adquiridos via “ yum install lm_sensors hddtemp ”.
2. Uma vez que esses itens estejam instalados, precisaremos executar “sensors-detect” como root para detectar os itens cuja temperatura gostaríamos de monitorar. Uma vez concluído, precisaremos salvar isso (basta pressionar ENTER) e o sensors-detect estará completo.
3. Agora que lm_sensors e hddtemp estão instalados, podemos testá-los localmente como abaixo:
Temp do HDD:
[root@rhelserver ~]# hddtemp /dev/sda/dev/sda: ST3120811AS: 31°Clm_sensors:
[root@rhelserver ~]# sensorscoretemp-isa-0000Adapter: ISA adapterCore 0: +38.0°C (high = +84.0°C, crit = +100.0°C)Core 1: +39.0°C (high = +84.0°C, crit = +100.0°C)Core 2: +37.0°C (high = +84.0°C, crit = +100.0°C)Core 3: +38.0°C (high = +84.0°C, crit = +100.0°C)
i5k_amb-isa-0000Adapter: ISA adapterCh. 0 DIMM 0: +67.0°C (low = +110.5°C, high = +124.0°C)Ch. 1 DIMM 0: +62.0°C (low = +110.5°C, high = +124.0°C)
Podemos ver, conforme a saída acima, que nossos sensores e suas leituras de temperatura estão detectados e funcionando como desejado, agora precisamos adicionar plugins para obter essa saída em uma base “por sensor” para que possamos adicioná-la a uma verificação de serviço para monitorar a temperatura do servidor.
4. Baixe o plugin “check_lm_sensors” do link aqui e copie-o para /usr/local/nagios/libexec. Uma vez feito, extraia-o via
tar -zxvf check_lm_sensors-3.1.1.tar.gz5. Podemos testar nosso novo plugin como root executando:
/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors –listque deve novamente listar os sensores e suas temperaturas. Se isso não funcionar ou der erros de Perl, então edite o arquivo check_lm_sensors usando nano/vim, e no topo do script adicione o seguinte:
use lib "/usr/local/nagios/perl/lib/";6. Para nos permitir executar este comando como o usuário “nagios” (necessário para verificações de serviço check_nrpe), precisamos:
chmod +x /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorschown –R nagios:nagios /usr/local/nagios/libexec/check_lm_sensors-3.1.1/7. Também precisamos adicionar uma linha ao arquivo /etc/sudoers. Como usuário root, anexe a seguinte linha ao final de /etc/sudoers:
nagios ALL=(root) NOPASSWD:/usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensorsIsso permite que o usuário nagios execute check_lm_sensors como root sem precisar de autenticação via senha.
8. Agora precisamos adicionar nossos comandos de verificação ao nosso agente, pois estaremos executando-os localmente no servidor e passando a saída de volta ao nosso servidor Opsview via o comando check_nrpe (NRPE sendo N agios R emote P lugin E xecutor). Para fazer isso, precisamos delinear quais são nossos comandos e como nos referiremos a eles. Para isso, precisamos editar o arquivo “overrides.cfg”, localizado em /usr/local/nagios/etc/nrpe_local/override.cfg.
9. Precisamos editar este arquivo usando um editor de texto como vim ou nano, ou seja,
nano /usr/local/nagios/etc/nrpe_local/override.cfge adicionar linhas semelhantes às abaixo:
check_command[core0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core0=45,55
check_command[core1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core1=45,55
check_command[core2_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core2=45,55
check_command[core3_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Core3=45,55
check_command[dimm0_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.0DIMM0=60,75
check_command[dimm1_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high Ch.1DIMM0=60,75
check_command[sda_temp]=sudo /usr/local/nagios/libexec/check_lm_sensors-3.1.1/check_lm_sensors --sanitize --high sdaTemp=60,75Isso criará 7 novos comandos, como “core0_temp”, que executam o caminho completo especificado à direita do “=”.
10. Em seguida, precisamos recarregar o agente Opsview executando
service opsview-agent restartpor exemplo.
11. Agora podemos testar esses novos comandos como o usuário nagios, navegando até /usr/local/nagios/libexec e executando um comando como abaixo:
./check_nrpe –H localhost –c dimm0_tempIsso irá gerar a saída, como abaixo, se for concluído com sucesso:
[nagios@rhelserver libexec]$ ./check_nrpe -H localhost -c dimm0_temp
LM_SENSORS WARNING - Ch.0DIMM0=67.0|Ch.0DIMM0=67.0;60;75;;12. Agora que tudo está confirmado como funcionando, precisamos simplesmente criar nossas verificações de serviço no Opsview e adicioná-las a um host. Para fazer isso, basta fazer login no Opsview e navegar até “ CONFIGURAÇÕES > VERIFICAÇÕES DE SERVIÇO ” e clicar no símbolo verde “+”. Isso carregará uma nova página, que você precisará preencher com várias configurações, como nome, grupo de serviço, etc.
As seções importantes para este exemplo são Plugin e argumentos; em “Plugin” devemos selecionar check_nrpe e nos argumentos devemos inserir algo semelhante a “ -H $HOSTADDRESS$ -c dimm0_temp ”; onde “dimm0_temp” é o comando que executamos anteriormente e adicionamos ao nosso arquivo overrides.cfg.

13. Uma vez que tenhamos criado verificações de serviço para todas as nossas linhas que adicionamos em “overrides.cfg” em nosso servidor, podemos então navegar até “ CONFIGURAÇÕES > HOSTS”, clicar no host correspondente (ou adicioná-lo se não estiver atualmente no Opsview), e navegar até a aba MONITORES onde você pode selecionar suas novas verificações de serviço como abaixo:

14. Uma vez adicionadas, finalmente precisamos recarregar o Opsview para aplicar nossas alterações, via “ CONFIGURAÇÕES > APLICAR ALTERAÇÕES ” e “recarregar configuração”. Uma vez recarregado, podemos então navegar até nosso host e visualizar nossos novos monitores de temperatura do servidor como abaixo:
15. Agora podemos começar a criar perfis de notificação com base nas temperaturas, ou seja, “Notifique-me se uma temperatura se tornar crítica para qualquer um dos meus servidores no Datacenter ‘XYZ’ durante esses horários”, por exemplo. Dessa forma, podemos garantir que descobrimos instantaneamente quando a temperatura de um servidor está se tornando crítica, via SMS/email/notificações push do iOS, e investigar imediatamente.

Receba novas postagens na sua caixa de entrada
Sem spam. Cancele a assinatura a qualquer momento.