Laboratório em bancada
Laboratório: Monitoramento de Nobreaks com NUT em Ambiente Virtualizado
Você irá instalar, configurar e validar o monitoramento de um nobreak via NUT (Network UPS Tools) em duas máquinas virtuais Linux conectadas em rede privada. Em cerca de 2 horas, terá um ambiente funcional para simular falhas de energia e observar o comportamento do sistema.

- Duração estimada
- 90 min
- Passos
- 13
- Validações
- 4
Este laboratório ensina como implementar o monitoramento de um nobreak utilizando o NUT, ferramenta de código aberto padrão de mercado. Você irá configurar o NUT em modo servidor (upsd) e cliente (upsmon), simulando um ambiente real de TI onde a disponibilidade de energia é crítica. O objetivo é garantir que eventos de energia sejam monitorados e ações automáticas possam ser tomadas, aumentando a resiliência de serviços essenciais.
Topologia
Duas VMs Linux (Debian/Ubuntu) em rede privada 192.168.56.0/24. A VM1 (192.168.56.10) simula o servidor NUT conectado ao nobreak (pode ser um simulador via driver dummy). A VM2 (192.168.56.20) atua como cliente NUT, monitorando o status do nobreak pela rede.
+-------------------+
| VM1: NUT |
| (Servidor, upsd) |
| 192.168.56.10 |
+--------+---------+
|
Rede privada 192.168.56.0/24
|
+--------+---------+
| VM2: NUT |
| (Cliente, upsmon)|
| 192.168.56.20 |
+------------------+Equipamentos e software
| Item | Requisito, licença ou versão |
|---|---|
| VM Linux (Servidor) | 1 vCPU, 512MB RAM, 1 porta USB (opcional para nobreak real), Debian 11 ou Ubuntu 22.04 |
| VM Linux (Cliente) | 1 vCPU, 512MB RAM, Debian 11 ou Ubuntu 22.04 |
| Network UPS Tools (NUT) | GPL · 2.8.0 |
Roteiro
- Preparar as VMs
Crie duas VMs Linux na mesma rede privada. Certifique-se de que conseguem se comunicar por ping.
ping 192.168.56.20 # da VM1 para VM2 ping 192.168.56.10 # da VM2 para VM1O que você deve ver: Pacotes recebidos sem perda.
- Instalar o NUT no servidor (VM1)
O NUT precisa ser instalado para monitorar o nobreak e servir informações via rede.
sudo apt update && sudo apt install nutO que você deve ver: Pacote NUT instalado sem erros.
- Configurar driver dummy do NUT
Sem um nobreak físico, use o driver dummy para simular eventos de energia.
sudo nano /etc/nut/ups.confO que você deve ver: Arquivo editado. Adicione: [dummyups] driver = dummy-ups port = dummy desc = "Simulador de Nobreak"
- Configurar usuários do NUT
Defina usuários e permissões para acesso remoto ao status do nobreak.
sudo nano /etc/nut/upsd.usersO que você deve ver: Arquivo editado. Adicione: [monuser] password = senha123 upsmon master
- Configurar o upsd (servidor NUT)
Permita conexões da rede privada.
sudo nano /etc/nut/upsd.confO que você deve ver: Arquivo editado. Adicione: LISTEN 192.168.56.10 3493
- Configurar o upsmon (monitor local)
Permita que o servidor monitore o próprio nobreak.
sudo nano /etc/nut/upsmon.confO que você deve ver: Arquivo editado. Adicione: MONITOR dummyups@localhost 1 monuser senha123 master
- Iniciar serviços NUT no servidor
Ative o driver, o servidor e o monitor local.
sudo systemctl restart nut-driver.service sudo systemctl restart nut-server.service sudo systemctl restart nut-monitor.serviceO que você deve ver: Serviços iniciados sem erros.
- Instalar NUT no cliente (VM2)
O cliente precisa do NUT para monitorar o nobreak remotamente.
sudo apt update && sudo apt install nut-clientO que você deve ver: Pacote NUT Client instalado.
- Configurar upsmon no cliente
Configure para monitorar o nobreak do servidor.
sudo nano /etc/nut/upsmon.confO que você deve ver: Arquivo editado. Adicione: MONITOR dummyups@192.168.56.10 1 monuser senha123 slave
- Configurar modo cliente
Ajuste o modo de operação do NUT para cliente.
sudo nano /etc/nut/nut.confO que você deve ver: Arquivo editado. Altere para: MODE=netclient
- Iniciar monitoramento no cliente
Ative o serviço de monitoramento.
sudo systemctl restart nut-monitor.serviceO que você deve ver: Serviço iniciado sem erros.
- Simular falha de energia
No servidor, use o comando para simular falha de energia.
sudo upsdrvctl stop dummyups # ou consulte a documentação para comandos de simulaçãoO que você deve ver: O status do nobreak muda para 'OB' (On Battery) nos monitores.
- Observar eventos de shutdown
Se configurado, o cliente pode iniciar shutdown automático após tempo configurado. Consulte a documentação para ajustes de tempo.
O que você deve ver: Logs de evento de energia e possíveis comandos de shutdown.
Como saber que funcionou
| Teste | Comando | Critério |
|---|---|---|
| Verificar status do nobreak no servidor | upsc dummyups@localhost | Saída mostra status ONLINE ou ON BATTERY. |
| Verificar status do nobreak no cliente | upsc dummyups@192.168.56.10 | Saída igual à do servidor. |
| Simular falha e observar logs | sudo tail -f /var/log/syslog | grep upsmon | Mensagens de alteração de status (ONLINE/ON BATTERY). |
| Verificar comunicação cliente-servidor | sudo netstat -an | grep 3493 | Porta 3493 aberta e conexões estabelecidas. |
Troubleshooting
| Sintoma | Causa provável | Correção |
|---|---|---|
| Cliente não conecta ao servidor | Firewall bloqueando porta 3493 ou LISTEN incorreto | Verifique iptables/ufw e configuração do upsd.conf |
| Status do nobreak não muda ao simular falha | Driver dummy não reiniciado ou comando incorreto | Reinicie o driver e revise ups.conf |
| upsmon falha ao iniciar | Usuário ou senha incorretos em upsmon.conf | Verifique upsmon.conf e upsd.users |
| Serviço nut-monitor não sobe | Modo em nut.conf incorreto | Confirme se MODE=netserver (servidor) ou MODE=netclient (cliente) |
Segurança e hardening
- Altere senhas padrão em upsd.users.
- Restrinja LISTEN no upsd.conf para IPs confiáveis.
- Use firewall para liberar apenas a porta 3493 entre as VMs.
- Não exponha o serviço NUT para redes públicas.
- Revise permissões dos arquivos de configuração (600).
