Terug naar blog

Monitoring van apparaten in het LAN via een agent

· 7 min leestijd

Cloud-monitoring bereikt geen apparaten in het interne netwerk. De LAN-agent van ePulz.io checkt ze via een pull-model over HTTPS, zonder VPN of poorten.

Monitoring van apparaten in het LAN via een agent

Het probleem: de cloud ziet niet naar binnen

Klassieke uptime monitoring draait in een datacenter. Voor publiek toegankelijke websites werkt het uitstekend: een HTTP verzoek reist van Frankfurt naar je hosting en terug. Het probleem begint zodra je iets wilt monitoren wat van buiten niet zichtbaar is:

  • Een NAS met backups (192.168.1.10)
  • Interne Grafana / Prometheus / Jira op 10.0.0.50:3000
  • IP camera's in de winkel, IoT gateways, netwerkprinters
  • Een router of switch waarvan je wilt weten wanneer hij uitvalt
  • VPN gateway, RADIUS server, lokale DNS

Gangbare oplossingen komen met ongemakkelijke compromissen:

  • Port forwarding: je opent een publieke poort op de router en monitoring verbindt via het publieke IP. Een veiligheidsnachtmerrie, vaak tegen het bedrijfsbeleid.
  • VPN tunnel tussen monitoring en het klantennetwerk: werkt, maar vereist setup aan IT-zijde, statische peer configuratie en doorlopend onderhoud.
  • Cron op de klantserver die de monitoring pingt: een heartbeat. Werkt, maar zegt alleen dat de agent leeft, niet of een specifiek doel in het netwerk bereikbaar is.

De oplossing: agent in pull model

De LAN agent van ePulz.io draait de communicatierichting om. In plaats van dat de server zich het klantennetwerk in dringt, contacteert een eenvoudige daemon die direct in dat netwerk draait zelf de server. Het principe is als volgt:

  1. Elke 30 seconden vraagt de agent: "Welke monitors moet ik nu controleren?"
  2. De server stuurt een lijst terug (bijvoorbeeld: ping 192.168.1.10 elke minuut, TCP 192.168.1.50:5432 elke 5 minuten).
  3. De agent voert de lokale controles uit (ICMP ping, TCP connect, HTTP GET).
  4. De agent stuurt de resultaten terug via dezelfde HTTPS verbinding.
  5. Bij een toestandwijziging (UP → DOWN of terug) triggert ePulz.io de standaard notificatie: email, Telegram of webhook.

Alle communicatie loopt via uitgaand HTTPS op poort 443, precies de poort die je router al open heeft voor de browser. Geen forwards, geen inkomend verkeer, geen VPN.

Drie soorten LAN controles

Type Doel Gebruik
lan_ping 192.168.1.10 Apparaat in het netwerk is actief (ICMP echo). Goedkoopste controle, ziet RTT met sub-milliseconde precisie.
lan_tcp 10.0.0.50:5432 Een specifieke poort reageert (DB, SSH, SMTP, RDP). Detecteert wanneer het proces uitvalt, ook al draait de host.
lan_http http://nas.local Webinterface werkt (HTTP 2xx/3xx). NAS GUI, intern dashboard, lokale API.

Installatie: twee varianten

Voor een Linux server met root toegang (Raspberry Pi, mini PC, VM in het netwerk):

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

Het script installeert de agent in /opt/epulzio-agent en registreert hem als systemd service. Hij start zelf na een reboot.

Voor Synology / Unraid / k3s / Docker hosts:

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 is belangrijk: de agent heeft toegang nodig tot het lokale netwerk van de host.

Wat gebeurt er als de agent stilvalt

Dit is een vaak over het hoofd gezien scenario bij eigen setups: de agent stopt met werken (netwerkstoring, stroomstoring, kernel panic), de monitor blijft voor altijd op "last_status: up" en niemand merkt het. ePulz.io lost dit op met aparte heartbeat logica:

  • Elk succesvol agent verzoek werkt last_seen bij.
  • Een scheduler controleert actieve agents elke minuut. Als last_seen ouder is dan 5 minuten, gaat email en Telegram bericht uit: "LAN agent X is offline".
  • Als de agent terugkomt, krijg je een back-online notificatie.

Hierdoor beland je nooit in de toestand "alles ziet er groen uit omdat er niets wordt gemeten".

Beveiliging

  • Token authenticatie: de agent authentificeert via X-Agent-Token: epulzio_…. We bewaren alleen de SHA-256 hash in de DB; het platte token zie je eenmalig bij aanmaken.
  • Op elk moment intrekken vanuit het dashboard. Na intrekking krijgt de agent HTTP 401 en stopt met taken aannemen.
  • Per-agent rate limit: 120 verzoeken per minuut. Beschermt de server tegen vastgelopen of buggy agents.
  • Geen credentials direct in het script: het token staat in /opt/epulzio-agent/agent.env met permissies 0600.

Wanneer je geen LAN agent nodig hebt

Als je alleen publieke websites, API's en SSL certificaten monitort, zijn de klassieke ePulz.io cloud probes voldoende. De LAN agent heeft zin wanneer:

  • Je meerdere klanten beheert en monitoring van hun interne systemen wilt aanbieden.
  • Je een hybride architectuur hebt (deels cloud, deels on-prem) en een enkel status board wilt.
  • Je sub-milliseconde RTT metingen op de LAN nodig hebt die je via internet niet krijgt.

Aan de slag

De LAN agent is beschikbaar in alle plannen inclusief de proefperiode. De installatie duurt drie minuten:

  1. Maak een agent aan in dashboard → LAN agents.
  2. Kopieer het token (wordt eenmalig getoond).
  3. Voer de installer uit op een machine in het klantennetwerk.
  4. Voeg een LAN monitor toe via "Nieuwe monitor toevoegen" en kies type lan_ping, lan_tcp of lan_http.

Probeer gratis

7 dagen volledige toegang inclusief LAN agents. Geen kaart. Geen automatische verlenging.

Account aanmaken →

Delen: Link gekopieerd

Probeer ePulz.io gratis - 7 dagen zonder creditcard.

Account aanmaken