Monitoramento Eficiente de Temperatura de Salas com Raspberry Pi e Nagios
Nos últimos meses, venho implementando e expandindo uma solução de monitoramento para nossos sistemas de desenvolvimento e produção. Como o Nagios é a solução de monitoramento mais amada/odiada, senti-me obrigado a aprender como funciona. Após lutar com permissões de usuário, regras de firewall, dependências quebradas e basicamente qualquer outro problema que pudesse surgir, finalmente tenho um sistema Nagios funcionando. Como gosto de bootstrap e tornar configuração o mais indolor possível, dediquei tempo para instalar o Adagios sobre o Nagios. Recomendo fortemente, pois torna lidar com Nagios uma experiência muito mais agradável e parece muito melhor.
Agora a parte divertida: como a tendência continua, adoro usar Raspberry Pi's onde quer que possa. São pequenos, consomem pouca energia e têm entradas suficientes para conectar sensores. Recentemente, navegava pelo r/sysadmin quando encontrei o post do mês passado: "As faxineiras machucaram meus servidores amados". Isso me fez pensar… agora que monitoro espaço em disco, uso de memória, carga de CPU, talvez eu devesse começar a monitorar temperaturas da sala de servidores.
Ferramentas Necessárias
- Raspberry Pi
- Resistor de 4,7k ohm
- DS18B20
Fiação
Primeiro testei minha configuração usando protoboard e jumpers antes de soldar algo. Se não for opção para você, vá em frente e solde o resistor de 4,7k ohm entre 3,3v (fio vermelho) e linha de dados (fio amarelo).
Abaixo está um diagrama de como tudo deve ser conectado, tirado do tutorial da Adafruit.
Configurando NRPE
Para o Nagios monitorar a temperatura, precisará de um agente NRPE instalado no Raspberry Pi. Aqui está um guia rápido para instalar o NRPE.
- Baixe e extraia NRPE-2.x do seguinte site:
https://sourceforge.net/projects/nagios/files/nrpe-2.x/
- Extraia o conteúdo:
tar -zxvf nrpe-2.15.tar.gz
- Entre no diretório extraído:
cd nrpe-2.15/
- Você precisará criar um link simbólico para que o nrpe encontre a biblioteca SSL ARM:
sudo rm /usr/lib/libssl.so
sudo ln -s /usr/lib/arm-linux-gnueabihf/libssl.so /usr/lib/libssl.so
- Execute o processo de configuração, se estiver faltando dependências ele avisará (resolva-as):
./configure
- Antes de instalar, crie usuário e grupo nagios. Você precisará disso para o processo de instalação. Certifique-se de compilar e instalar como root:
sudo useradd nagios
sudo make all
sudo make install
sudo make install-plugin
sudo make install-daemon
- Copie o arquivo de configuração de exemplo para o diretório de instalação do NRPE:
sudo mkdir /usr/local/nagios/etc
sudo cp sample-config/nrpe.cfg /usr/local/nagios/etc/nrpe.cfg
sudo chown -R nagios:nagios /usr/local/nagios/etc/
- Copie o script init.d do Debian e dê permissão de execução:
sudo cp init-script.debian /etc/init.d/nrpe
sudo chmod 700 /etc/init.d/nrpe
- Edite o arquivo de configuração nrpe.cfg e adicione seu servidor Nagios ao allowed_hosts. Vamos também adicionar nosso comando check_temp
- sudo vim /usr/local/nagios/etc/nrpe.cfg
> allowed_hosts=127.0.0.1,SEU_IP_SERVIDOR_NAGIOS_AQUI
> command[check_temp]=/usr/local/nagios/libexec/check_temp.sh -w 30 -c 40 - Certifique-se que acesso pela porta 5666 é permitido nrpe 5666/tcp #nrpe
- Inicie o serviço NRPE:
sudo service nrpe start
- Confirme se está rodando:
ps aux | grep nrpe
O comando acima deve mostrar algo como:
[email protected]:/tmp/nrpe-2.15# ps aux | grep nrpe nagios 8869 0.0 0.2 4084 980 ? Ss 21:43 0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
- Por fim, faça o NRPE iniciar no reboot:
sudo update-rc.d nrpe defaults
Agora você terminou de instalar o agente NRPE no seu Raspberry Pi, então é hora de instalar o script check_temp.
Código
Salve o seguinte script como check_temp.sh dentro de /usr/local/nagios/libexec/
Certifique-se que tem permissão de execução: chmod +x /usr/local/nagios/libexec/check_temp.sh
Para mais detalhes: Monitorando Temperaturas de Salas com Raspberry Pi e Nagios
Processo de manufatura
- Conecte Múltiplos Sensores DS18B20 1-Wire ao Raspberry Pi para Monitoramento Preciso de Temperatura
- Como Ler Temperatura com DS18B20 no Raspberry Pi 2
- Monitor de Temperatura e Umidade Residencial com Raspberry Pi e Dashboard Web – Rastreamento Remoto em Tempo Real
- Monitoramento Profissional de Temperatura com Raspberry Pi e DS18B20
- Medição de Temperatura no Raspberry Pi com Sensores Maxim 1‑Wire e Bridge I2C DS2482
- Home Energy Centre: Monitoramento Solar PV, Painéis Térmicos e Temperaturas de Ambientes com Raspberry Pi e Moteino
- Monitoramento Preciso de Temperatura em Closet de Servidores com Raspberry Pi
- Monitoramento Remoto do Tempo com Raspberry Pi 3 e PubNub
- Monitoramento de Temperatura de Sala com Raspberry Pi: Gráficos Gnuplot e Alertas por Email
- Construa um Controlador Doméstico Inteligente 433 MHz com Sensorflare e Raspberry Pi