Назад до блогу

Моніторинг пристроїв у внутрішній мережі клієнта через LAN-агента

· 7 хв читання

Хмарний моніторинг не дотягнеться до пристроїв у внутрішній мережі. LAN-агент ePulz.io перевіряє їх pull-моделлю через HTTPS - без VPN і відкритих портів.

Моніторинг пристроїв у внутрішній мережі клієнта через LAN-агента

Проблема: хмара не бачить всередину

Класичний uptime-моніторинг працює в дата-центрі. Для публічно доступних сайтів він чудово підходить: HTTP-запит іде з Франкфурта на ваш хостинг і назад. Проблема починається в момент, коли ви хочете моніторити щось, що ззовні не видно:

  • NAS з резервними копіями (192.168.1.10)
  • Внутрішні Grafana / Prometheus / Jira на 10.0.0.50:3000
  • IP-камери в магазині, IoT-шлюзи, мережеві принтери
  • Маршрутизатор або комутатор, про відмову якого хочете знати
  • VPN-шлюз, RADIUS-сервер, локальний DNS

Поширені рішення мають неприємні компроміси:

  • Прокидання портів: ви відкриваєте публічний порт на маршрутизаторі, і моніторинг підключається через публічну IP. Жах із погляду безпеки, часто проти корпоративної політики.
  • VPN-тунель між моніторингом і мережею клієнта: працює, але вимагає налаштування з боку IT, статичної конфігурації одноранкових вузлів і постійного обслуговування.
  • Cron на сервері клієнта, що пінгує моніторинг: heartbeat. Працює, але говорить лише про те, що агент живий, а не про те, чи доступна конкретна ціль у мережі.

Рішення: агент у pull-моделі

LAN-агент ePulz.io обертає напрямок комунікації. Замість того, щоб сервер вривався в мережу клієнта, до сервера сам звертається простий демон, який працює безпосередньо в цій мережі. Принцип такий:

  1. Кожні 30 секунд агент питає: «Які монітори мені зараз перевірити?»
  2. Сервер повертає список (наприклад: ping 192.168.1.10 щохвилини, TCP 192.168.1.50:5432 щоп'ять хвилин).
  3. Агент виконує локальні перевірки (ICMP ping, TCP connect, HTTP GET).
  4. Агент надсилає результати назад через те саме HTTPS-з'єднання.
  5. При зміні стану (UP → DOWN або назад) ePulz.io запускає стандартне сповіщення: email, Telegram або webhook.

Уся комунікація йде через вихідний HTTPS на порту 443, той самий порт, який ваш маршрутизатор і так тримає відкритим для браузера. Жодних прокидань, жодного вхідного трафіку, ніякого VPN.

Три типи LAN-перевірок

Тип Ціль Використання
lan_ping 192.168.1.10 Пристрій у мережі активний (ICMP echo). Найдешевша перевірка, бачить RTT з субмілісекундною точністю.
lan_tcp 10.0.0.50:5432 Конкретний порт відповідає (DB, SSH, SMTP, RDP). Виявляє, коли процес лежить, навіть якщо хост працює.
lan_http http://nas.local Веб-інтерфейс працює (HTTP 2xx/3xx). GUI NAS, внутрішній дашборд, локальне API.

Встановлення: два варіанти

Для Linux-сервера з root-доступом (Raspberry Pi, міні-ПК, ВМ у мережі):

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

Скрипт встановлює агента в /opt/epulzio-agent і реєструє його як systemd-сервіс. Після перезавантаження запускається сам.

Для хостів 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 важливий: агенту потрібен доступ до локальної мережі хоста.

Що відбувається, коли агент замовкає

Це часто пропущений сценарій у саморобних установках: агент перестає працювати (збій мережі, відключення електрики, kernel panic), монітор назавжди залишається в «last_status: up», і ніхто цього не помічає. ePulz.io вирішує це окремою heartbeat-логікою:

  • Кожен успішний запит агента оновлює last_seen.
  • Планувальник перевіряє активних агентів щохвилини. Якщо last_seen старший за 5 хвилин, виходить email і Telegram-повідомлення: «LAN-агент X offline».
  • Коли агент повертається, ви отримуєте сповіщення back-online.

Завдяки цьому ви ніколи не опинитеся у стані «все виглядає зеленим, бо нічого не вимірюється».

Безпека

  • Автентифікація токеном: агент автентифікується через X-Agent-Token: epulzio_…. У БД зберігаємо лише хеш SHA-256; чистий токен бачите один раз при створенні.
  • Відкликання будь-коли з дашборду. Після відкликання агент отримує HTTP 401 і перестає приймати завдання.
  • Per-агент rate limit: 120 запитів за хвилину. Захищає сервер від зациклених або зламаних агентів.
  • Без credentials прямо в скрипті: токен лежить у /opt/epulzio-agent/agent.env з правами 0600.

Коли LAN-агент не потрібен

Якщо ви моніторите лише публічні сайти, API та SSL-сертифікати, класичних хмарних пробів ePulz.io вам достатньо. LAN-агент має сенс, коли:

  • Ви керуєте кількома клієнтами і хочете запропонувати моніторинг їхніх внутрішніх систем.
  • У вас гібридна архітектура (частина в хмарі, частина on-prem) і хочете єдиний status board.
  • Вам потрібні субмілісекундні вимірювання RTT у LAN, яких через інтернет не отримати.

Почати

LAN-агент доступний в усіх планах включно з пробним періодом. Встановлення триває три хвилини:

  1. Створіть агента в дашборд → LAN-агенти.
  2. Скопіюйте токен (відображається лише один раз).
  3. Запустіть інсталятор на машині в мережі клієнта.
  4. Додайте LAN-монітор через «Додати новий монітор» і виберіть тип lan_ping, lan_tcp або lan_http.

Спробуйте безкоштовно

7 днів повного доступу включно з LAN-агентами. Без картки. Без автопродовження.

Створити акаунт →

Поділитися: Посилання скопійовано

Спробуйте ePulz.io безкоштовно - 7 днів без банківської картки.

Створити обліковий запис