Nagios - Monitorando temperatura de servidores GNU/Linux

Mais um artigo para os amantes do Nagios. Agora ensino como monitorar a temperatura de servidores GNU/Linux utilizando o software lm-sensors em conjunto com o NRPE.

[ Hits: 28.786 ]

Por: Rafael Oliveira em 13/11/2012 | Blog: http://itformoney.wordpress.com/


Instalando o lm-sensors



Iremos utilizar o lm-sensors para a captura das informações dos sensores que seu hardware possua, o lm-sensors utiliza módulos habilitados no kernel Linux, e através destes módulos, conseguiremos obter as informações de sensores de temperatura e de rotação de coolers disponíveis em seu servidor.

Começaremos com a instalação do lm-sensors:

# apt-get install lm-sensors

Agora iremos detectar os sensores existentes em nosso hardware:

# sensors-detect

Qualquer pergunta, apenas dê ENTER. Repare que ele criará listas dos sensores já encontrados. Veremos agora se deu tudo certo, listando os sensores existentes:

# sensors

Opaa, deu tudo certo! Sensores 'Core 0' e demais 'Core 1, 2, 3' foram encontrados perfeitamente (lembrando que cada core é um núcleo de seu processador, caso este seja multicore), além disso, minhas memórias também possuem sensores de temperatura 'temp1, 2, 3'. Ebaa, tudo funcionando!! Só que em muitos casos não é bem por aí.

Dependendo do kernel que seu servidor está utilizando, alguns módulos podem estar desabilitados, ou simplesmente, não existem por padrão. Caso seja seu caso meu caro, como foi o meu, começaremos por tentar habilitar estes módulos, que por Deus, já estão contidos no seu Kernel (comece a rezar agora!):

# modprobe coretemp

Nenhuma mensagem de erro? Nada? Então diga aleluia irmão, e veja se o milagre se concretizou verificando os sensores novamente:

# sensors

E aí, tudo certo? Sensor de temperatura do processador reconhecido! Ee, maravilha! Mas será que conseguimos melhorar isso? Tente habilitar os módulos i2c e verificar se o seu hardware ainda possui algum sensor escondido. Para mais detalhes sobre os módulos i2c, por favor, consulte o tio Google ("i2c devices"):

# modprobe i2c-dev
# modprobe i2c-i801


Tudo certo? Sem erros? Então maravilha! Caso ocorra algum erro, não se preocupe tanto assim, você pode sobreviver sem estes sensores, ou talvez eles nem existam. Mas, e se algum erro ocorreu em algum comando "modprobe" e o resultado for algo como:
...: No such device

Bom meu amigo, isso muito possivelmente quer dizer que seu kernel não possui este módulo em questão, como é o caso do Kernel 2.6.35-22, que não possui o módulo Coretemp, para resolver tal problema, você precisará atualizar seu kernel. Em sistemas Ubuntu, podemos resolver isso facilmente com o comando:

# apt-get dist-upgrade

Mas lembre-se de que isso poderá trazer complicações, como ter de reinstalar drivers de rede, vídeo etc.

Sensores detectados, agora vamos para o sensacional plugin que fará a leitura destes sensores e disponibilizará estas informações ao nosso poderoso Nagios. Comece efetuando o download do plugin, infelizmente não consegui efetuar este através do Wget. Acabei tendo de fazer a gambiarra de baixá-lo num host Windows e depois transferi-lo através do PSCP para o servidor GNU/Linux.

Aqui està o link do check_lm_sensors:
Feito o download, transfira ele para o servidor GNU/Linux (tio Google pra quem está em dúvida sobre como fazer isso) e descompacte este:

# tar xzf check_lm_sensors-3.1.1.tar.gz
# cd check_lm_sensors-3.1.1


Começaremos agora a instalação do plugin, indicaremos a ele o diretório padrão do Nagios Core 3.2, caso seu diretório seja diferente, altere a primeira linha:

# perl Makefile.PL INSTALLSITESCRIPT=/usr/local/nagios/libexec/
# make
# make install


Ok, lindo, sem erros, vamos agora testá-lo já verificando os sensores disponíveis:

# /usr/local/nagios/libexec/./check_lm_sensors --list

Todos foram listados? Não? Não se preocupe, ele conseguirá efetuar a leitura mesmo assim, basta você pegar o Index do sensor, que nada mais é do que o 'Core 1', 'temp1', 'Core 2' etc que o comando "sensors" te traz.

Verifique agora, especificamente, um sensor, veremos o sensor de um dos core do processador:

# /usr/local/nagios/libexec/./check_lm_sensors --nodrives --high 'Core 0'=58,62

Explicando basicamente o comando:
  • Opção "--nodrives" → Faz com que mensagens indesejadas não sejam exibidas, isso normalmente acontece quando não se tem alguns sensores externos instalados ou ativos, como é o caso do hddtemp.
  • Opção "--high" → Indica que gostaríamos de monitorar quando o processador atingir temperaturas acima da por nós estipulada, como neste caso seria 58ºC, ele se encontraria em nível crítico, e 60ºC ele se encontraria em nível Alarmante, mas conhecido como "Deu me**a!".
  • 'Core 0' → Indica apenas o Index do sensor, como disse acima, verifique este com o comando "sensors".

Conselho do tio, procure informações a respeito do funcionamento de seus processadores, memórias, para que você possa colocar corretamente as temperaturas de Critical e Warning, afinal, um Celeron 430 não trabalha na mesma temperatura de um Xeon da vida.

Página anterior     Próxima página

Páginas do artigo
   1. Configurando o servidor a ser monitorado
   2. Instalando o lm-sensors
   3. Adicionando a checagem ao NRPE
   4. Temperaturas do próprio servidor Nagios
Outros artigos deste autor

Instalando o Nagios Core 3.2, Plugins, NRPE, NSClient (Ubuntu 10.4)

Leitura recomendada

Instalando e configurando o DOSemu no Slackware

Atualizando o navegador Firefox para a versão 4.0

Editando PDF com Inkscape

Instalando e usando o GNUstep no Linux

E Ink - Leitor de E-Book Kindle e Amazon Cloud Reader

  
Comentários
[1] Comentário enviado por douglas oliveira em 13/11/2012 - 17:52h

Boa Tarde,

Você sabe se pelo Nagios tem como monitorar temperatura de servidores windows.

[2] Comentário enviado por robsonstenico em 13/11/2012 - 20:44h

mto bom...
vlw

[3] Comentário enviado por danniel-lara em 13/11/2012 - 22:03h

Muito bom parabéns

[4] Comentário enviado por Rafael Oliveira em 14/01/2013 - 09:15h


[1] Comentário enviado por douglas oliveira em 13/11/2012 - 17:52h:

Boa Tarde,

Você sabe se pelo Nagios tem como monitorar temperatura de servidores windows.

Douglas, tem sim.
Você pode monitorar pelo snmp ou por plugins específicos do Nagios para sua máquina, existem plugins construídos especificamente para hardware, IBM, DELL, HP, dê uma procurada no Nagios Exchange que você vai encontrar bastante coisa a respeito.

[5] Comentário enviado por ogaroto666 em 27/02/2013 - 17:08h

Ola amigo, gostaria de saber se ele só monitora o proprio servidor nagios ou também monitora os outros servidores da rede.
por que coloquei ele para monitorar outros servidores e ele lê a temperatura do servidor nagios ao invés de ler a do SRV-01!

[6] Comentário enviado por thla_88 em 04/01/2015 - 15:10h

Rafael ótima postagem, mas preciso de um help, fiz todo o procedimento mas ao verificar os sensores com o comando sensors o resultado foi este:
No sensors found!
Make sure loaded all the kernel drivers you need
Try sensors-detect to find out which these are.

Estou usando o debian 7.7 core no virtualbox, será por isso o fator de ser uma máquina virtual? Ajuda aê galera!!!


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts