Terug naar blog

Monitoring van apparaten in het interne klantennetwerk via een LAN agent

· 7 min lezen

Kort gezegd Cloud monitoring bereikt geen apparaten in het interne klantennetwerk - NAS, camera's, lokale servers, printers. De LAN agent van ePulz.io lost dit op met een pull model: een kleine daemon in je netwerk belt ePulz.io via normaal HTTPS, ontvangt een lijst met te controleren IP's, pingt ze lokaal en stuurt de resultaten terug. Geen port forwarding, geen VPN, geen open poorten van buitenaf.

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 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, monitoring verbindt via het publieke IP. 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 in het klantennetwerk zelf de server. Het principe:

  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 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 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 ligt, 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):

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

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:

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

--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 vergeten scenario bij eigen setups: de agent stopt met werken (netwerk, 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: plzag_…. 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 →


Probeer ePulz.io gratis - 7 dagen zonder creditcard.

Account aanmaken