Powrót do bloga

Monitoring urządzeń w wewnętrznej sieci klienta przez agenta LAN

· 7 min czytania

W skrócie Monitoring w chmurze nie dotrze do urządzeń w wewnętrznej sieci klienta - NAS, kamery, lokalne serwery, drukarki. Agent LAN ePulz.io rozwiązuje to modelem pull: niewielki daemon w Twojej sieci dzwoni do ePulz.io przez zwykłe HTTPS, otrzymuje listę adresów IP do sprawdzenia, lokalnie je pinguje i odsyła wyniki. Bez przekierowania portów, bez VPN, bez otwartych portów od zewnątrz.

Problem: chmura nie widzi do środka

Klasyczny monitoring uptime działa w data center. Dla publicznie dostępnych stron działa świetnie - żądanie HTTP z Frankfurtu na Twój hosting i z powrotem. Problem zaczyna się w momencie, gdy chcesz monitorować coś, co nie jest widoczne z zewnątrz:

  • NAS z kopiami zapasowymi (192.168.1.10)
  • Wewnętrzna Grafana / Prometheus / Jira na 10.0.0.50:3000
  • Kamery IP w sklepie, bramki IoT, drukarki sieciowe
  • Router lub switch, o którego awarii chcesz wiedzieć
  • Brama VPN, serwer RADIUS, lokalny DNS

Typowe rozwiązania mają niewygodne kompromisy:

  • Przekierowanie portów - otwierasz publiczny port na routerze, monitoring łączy się przez publiczne IP. Horror bezpieczeństwa, często wbrew polityce firmy.
  • Tunel VPN między monitoringiem a siecią klienta - działa, ale wymaga konfiguracji po stronie IT, statycznej konfiguracji peer i utrzymania.
  • Cron na serwerze klienta, który pinguje monitoring - heartbeat. Działa, ale mówi tylko, że agent żyje, a nie czy konkretny cel w sieci jest osiągalny.

Rozwiązanie: agent w modelu pull

Agent LAN ePulz.io odwraca kierunek komunikacji. Zamiast serwera włamującego się do sieci klienta, prosty daemon w sieci klienta sam kontaktuje serwer. Zasada:

  1. Co 30 sekund agent pyta: "Które monitory mam teraz sprawdzić?"
  2. Serwer zwraca listę (na przykład: ping 192.168.1.10 co minutę, TCP 192.168.1.50:5432 co 5 minut).
  3. Agent wykonuje lokalne sprawdzenia (ICMP ping, TCP connect, HTTP GET).
  4. Agent odsyła wyniki przez to samo połączenie HTTPS.
  5. Przy zmianie stanu (UP → DOWN lub odwrotnie) ePulz.io uruchamia standardową notyfikację - email, Telegram lub webhook.

Cała komunikacja odbywa się przez wychodzące HTTPS na porcie 443. Dokładnie ten port, który Twój router ma otwarty dla przeglądarki. Żadnych przekierowań, żadnego ruchu przychodzącego, żadnego VPN.

Trzy rodzaje sprawdzeń LAN

Typ Cel Zastosowanie
lan_ping 192.168.1.10 Urządzenie w sieci jest na chodzie (ICMP echo). Najtańsze sprawdzenie, widzi RTT z dokładnością submilisekundową.
lan_tcp 10.0.0.50:5432 Konkretny port odpowiada (DB, SSH, SMTP, RDP). Wykrywa, gdy proces leży, nawet jeśli host działa.
lan_http http://nas.local Interfejs webowy działa (HTTP 2xx/3xx). NAS GUI, wewnętrzny dashboard, lokalne API.

Instalacja: dwa warianty

Dla serwera Linux z dostępem root (Raspberry Pi, mini PC, VM w sieci):

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

Skrypt zainstaluje agenta do /opt/epulzio-agent i zarejestruje go jako usługę systemd. Po reboocie startuje sam.

Dla hostów 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 jest ważne - agent potrzebuje dostępu do lokalnej sieci hosta.

Co się dzieje, gdy agent zamilknie

To często zapominany scenariusz przy własnych setupach: agent przestaje działać (sieć, brak prądu, kernel panic), monitor pozostaje na zawsze w "last_status: up" i nikt tego nie zauważy. ePulz.io rozwiązuje to osobną logiką heartbeat:

  • Każde udane żądanie agenta aktualizuje last_seen.
  • Scheduler sprawdza aktywnych agentów co minutę. Jeśli last_seen jest starszy niż 5 minut, idzie email i wiadomość Telegram: "Agent LAN X jest offline".
  • Gdy agent wraca, dostajesz powiadomienie back-online.

Dzięki temu nigdy nie znajdziesz się w stanie "wszystko wygląda na zielono, bo nic nie jest mierzone".

Bezpieczeństwo

  • Autoryzacja tokenem: agent uwierzytelnia się przez X-Agent-Token: plzag_…. W bazie przechowujemy tylko hash SHA-256; jawny token widzisz raz przy tworzeniu.
  • Revoke w dowolnym momencie z dashboardu. Po odebraniu agent dostaje HTTP 401 i przestaje przyjmować zadania.
  • Rate limit per-agent: 120 żądań na minutę. Chroni serwer przed zapętlonymi lub błędnymi agentami.
  • Bez credentials bezpośrednio w skrypcie: token leży w /opt/epulzio-agent/agent.env z uprawnieniami 0600.

Kiedy nie potrzebujesz agenta LAN

Jeśli monitorujesz tylko publiczne strony, API i certyfikaty SSL, klasyczne sondy chmurowe ePulz.io w zupełności wystarczą. Agent LAN ma sens, gdy:

  • Zarządzasz wieloma klientami i chcesz im zaoferować monitoring ich wewnętrznych systemów.
  • Masz architekturę hybrydową (częściowo chmura, częściowo on-prem) i chcesz jednolity status board.
  • Potrzebujesz pomiarów RTT poniżej milisekundy w LAN, których przez internet nie dostaniesz.

Zacznij

Agent LAN jest dostępny we wszystkich planach łącznie z okresem próbnym. Instalacja zabiera trzy minuty:

  1. Utwórz agenta w dashboard → agenci LAN.
  2. Skopiuj token (wyświetla się tylko raz).
  3. Uruchom instalator na maszynie w sieci klienta.
  4. Dodaj monitor LAN przez "Dodaj nowy monitor" i wybierz typ lan_ping, lan_tcp lub lan_http.

Wypróbuj za darmo

7 dni pełnego dostępu łącznie z agentami LAN. Bez karty. Bez automatycznego odnowienia.

Utwórz konto →


Wypróbuj ePulz.io za darmo - 7 dni bez karty kredytowej.

Załóż konto