Назад в блог

Мониторинг устройств во внутренней сети клиента через 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 каждые 5 минут).
  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 дней без банковской карты.

Создать аккаунт