Voltar ao blog

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

· 7 min de leitura

Em resumo A monitorização em cloud não alcança os dispositivos da rede interna do cliente - NAS, câmaras, servidores locais, impressoras. O agente LAN do ePulz.io resolve isto com um modelo pull: um pequeno daemon na tua rede chama o ePulz.io através de HTTPS comum, recebe uma lista de IPs para verificar, faz ping localmente e envia os resultados de volta. Sem redirecionamento de portas, sem VPN, sem portas abertas de fora.

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 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 sobre cuja avaria queres saber
  • 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, a monitorização liga-se via IP público. 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ó diz 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 do servidor se enfiar na rede do cliente, um simples daemon na rede do cliente contacta o servidor por si mesmo. O princípio:

  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. Em 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 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):

sudo bash <(curl -s https://epulz.io/install-agent.sh) plzag_xxx

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:

docker run -d --name epulzio-agent --restart unless-stopped \
  --network host \
  -e EPULZIO_AGENT_TOKEN=plzag_xxx \
  epulzio/agent

--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 frequentemente esquecido em setups caseiros: o agente deixa de funcionar (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 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: plzag_…. 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 →


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

Criar conta