Моніторинг пристроїв у внутрішній мережі клієнта через LAN-агента
· 7 хв читання
Хмарний моніторинг не дотягнеться до пристроїв у внутрішній мережі. LAN-агент ePulz.io перевіряє їх pull-моделлю через HTTPS - без VPN і відкритих портів.
Проблема: хмара не бачить всередину
Класичний 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 обертає напрямок комунікації. Замість того, щоб сервер вривався в мережу клієнта, до сервера сам звертається простий демон, який працює безпосередньо в цій мережі. Принцип такий:
- Кожні 30 секунд агент питає: «Які монітори мені зараз перевірити?»
- Сервер повертає список (наприклад: ping
192.168.1.10щохвилини, TCP192.168.1.50:5432щоп'ять хвилин). - Агент виконує локальні перевірки (ICMP ping, TCP connect, HTTP GET).
- Агент надсилає результати назад через те саме HTTPS-з'єднання.
- При зміні стану (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-агент доступний в усіх планах включно з пробним періодом. Встановлення триває три хвилини:
- Створіть агента в дашборд → LAN-агенти.
- Скопіюйте токен (відображається лише один раз).
- Запустіть інсталятор на машині в мережі клієнта.
- Додайте LAN-монітор через «Додати новий монітор» і виберіть тип
lan_ping,lan_tcpабоlan_http.
Спробуйте безкоштовно
7 днів повного доступу включно з LAN-агентами. Без картки. Без автопродовження.
Спробуйте ePulz.io безкоштовно - 7 днів без банківської картки.
Створити обліковий запис