Voltar ao blog

Monitorização de dispositivos na rede interna do cliente através de um agente LAN

· 7 min de leitura

O monitoring na nuvem não alcança dispositivos na rede interna. O agente LAN do ePulz.io verifica-os por pull via HTTPS - sem VPN nem portas abertas.

Monitorização de dispositivos na rede interna do cliente através de um agente LAN

O problema: a cloud não vê para dentro

A monitorização de uptime clássica corre num data center. Para sites públicos funciona muito bem: um pedido HTTP viaja de Frankfurt para o teu alojamento e de volta. O problema começa no momento em que queres monitorizar algo que não é visível de fora:

  • Um NAS com backups (192.168.1.10)
  • Grafana / Prometheus / Jira interno em 10.0.0.50:3000
  • Câmaras IP na loja, gateways IoT, impressoras de rede
  • Um router ou switch cuja avaria queres conhecer
  • Gateway VPN, servidor RADIUS, DNS local

As soluções comuns vêm com compromissos desconfortáveis:

  • Redirecionamento de portas: abres uma porta pública no router e a monitorização liga-se via IP público. Um pesadelo de segurança, muitas vezes contra a política da empresa.
  • Túnel VPN entre a monitorização e a rede do cliente: funciona, mas requer configuração do lado da IT, configuração estática de peer e manutenção contínua.
  • Cron no servidor do cliente que faz ping à monitorização: um heartbeat. Funciona, mas só indica que o agente está vivo, não se um alvo concreto na rede está acessível.

A solução: agente em modelo pull

O agente LAN do ePulz.io inverte a direção da comunicação. Em vez de o servidor se enfiar na rede do cliente, é um simples daemon a correr diretamente nessa rede que contacta o servidor por si mesmo. O princípio é o seguinte:

  1. A cada 30 segundos o agente pergunta: "Que monitores devo verificar agora?"
  2. O servidor devolve uma lista (por exemplo: ping 192.168.1.10 a cada minuto, TCP 192.168.1.50:5432 a cada 5 minutos).
  3. O agente executa as verificações locais (ICMP ping, TCP connect, HTTP GET).
  4. O agente envia os resultados de volta pela mesma ligação HTTPS.
  5. Numa mudança de estado (UP → DOWN ou de volta), o ePulz.io dispara a notificação padrão: email, Telegram ou webhook.

Toda a comunicação passa por HTTPS de saída na porta 443, exatamente a porta que o teu router já tem aberta para o navegador. Sem redirecionamentos, sem tráfego de entrada, sem VPN.

Três tipos de verificações LAN

Tipo Alvo Caso de uso
lan_ping 192.168.1.10 O dispositivo na rede está ativo (eco ICMP). Verificação mais barata, vê o RTT com precisão sub-milissegundo.
lan_tcp 10.0.0.50:5432 Uma porta específica responde (DB, SSH, SMTP, RDP). Deteta quando o processo cai mesmo que o host esteja a correr.
lan_http http://nas.local A interface web funciona (HTTP 2xx/3xx). GUI do NAS, dashboard interno, API local.

Instalação: duas variantes

Para um servidor Linux com acesso root (Raspberry Pi, mini PC, VM na rede):

curl -fsSL https://epulz.io/install-agent.sh | sudo bash -s epulzio_xxxxxxxxxxxx

O script instala o agente em /opt/epulzio-agent e regista-o como serviço systemd. Arranca sozinho após reboot.

Para hosts Synology / Unraid / k3s / Docker:

tar xzf epulzio-agent.tar.gz
docker load -i epulzio-agent-image.tar
docker run -d --name epulzio-agent --restart unless-stopped \
  --network host \
  -e EPULZIO_AGENT_TOKEN=epulzio_xxxxxxxxxxxx \
  epulzio-agent:latest

--network host é importante: o agente precisa de acesso à rede local do host.

O que acontece quando o agente fica em silêncio

Este é um cenário muitas vezes ignorado em setups caseiros: o agente deixa de funcionar (falha de rede, falha de energia, kernel panic), o monitor fica para sempre em "last_status: up" e ninguém repara. O ePulz.io resolve isso com uma lógica de heartbeat separada:

  • Cada pedido bem sucedido do agente atualiza last_seen.
  • Um scheduler verifica os agentes ativos a cada minuto. Se last_seen for mais antigo que 5 minutos, sai email e mensagem Telegram: "O agente LAN X está offline".
  • Quando o agente volta, recebes notificação de back-online.

Graças a isto nunca vais acabar no estado "tudo parece verde porque nada está a ser medido".

Segurança

  • Autenticação por token: o agente autentica-se via X-Agent-Token: epulzio_…. Apenas guardamos o hash SHA-256 na BD; o token em claro vês uma vez na criação.
  • Revoga a qualquer momento a partir do dashboard. Após revogação o agente recebe HTTP 401 e deixa de aceitar tarefas.
  • Rate limit por agente: 120 pedidos por minuto. Protege o servidor de agentes em loop ou defeituosos.
  • Sem credenciais diretamente no script: o token vive em /opt/epulzio-agent/agent.env com permissões 0600.

Quando não precisas de agente LAN

Se monitorizas apenas sites públicos, APIs e certificados SSL, as sondas cloud clássicas do ePulz.io chegam-te. O agente LAN faz sentido quando:

  • Geres vários clientes e queres oferecer monitorização dos seus sistemas internos.
  • Tens arquitetura híbrida (parte cloud, parte on-prem) e queres uma status board unificada.
  • Precisas de medições de RTT sub-milissegundo na LAN, impossíveis de obter via internet.

Começa

O agente LAN está disponível em todos os planos incluindo a versão de teste. A instalação demora três minutos:

  1. Cria um agente em dashboard → agentes LAN.
  2. Copia o token (mostrado uma única vez).
  3. Executa o instalador numa máquina da rede do cliente.
  4. Adiciona um monitor LAN via "Adicionar novo monitor" e escolhe o tipo lan_ping, lan_tcp ou lan_http.

Experimenta grátis

7 dias de acesso completo incluindo agentes LAN. Sem cartão. Sem renovação automática.

Criar conta →

Partilhar: Link copiado

Experimente o ePulz.io grátis - 7 dias sem cartão de crédito.

Criar conta