Довідка та інструкціїLAN агенти (внутр. мережа) › Встановлення агента (systemd / Docker)

Встановлення агента (systemd / Docker)

4 хв читання · LAN агенти (внутр. мережа)

LAN-агент - це невеликий процес на Python, який працює на вашому Linux-пристрої у внутрішній мережі та перевіряє служби, недоступні з інтернету (внутрішній DNS, інтранет, ERP, NAS, принтери). Він звертається назовні через HTTPS, тому не потребує жодних відкритих портів усередину мережі.

Стисло: Створіть агента в панелі керування, скопіюйте токен і виконайте одну команду встановлення на цільовому пристрої. Увесь процес займає 2-3 хвилини.

Що вам знадобиться

  • Будь-який Linux із доступом root (Debian, Ubuntu, Raspberry Pi OS, Fedora, Alma/Rocky, Arch, openSUSE, Alpine)
  • Архітектура x86_64, aarch64 (Raspberry Pi 4/5), armv7l (Raspberry Pi 3) або armv6l (RPi Zero)
  • Вихідне HTTPS-з'єднання до epulz.io (порт 443)
  • Python 3.8 або новіший (якщо його немає, інсталятор додасть його з менеджера пакетів)

Агент займає приблизно 20 МБ ОЗП і в стані спокою менше ніж 1 % ЦП. Він також працює в контейнері LXC, у віртуальній машині (Proxmox, VMware) або в контейнері Docker. Окрім systemd він підтримує і OpenRC (Alpine).

Повністю перевірюваний: увесь агент - це один файл на Python (~600 рядків, лише стандартна бібліотека), а інсталятор - публічний скрипт. Перед запуском ви можете прочитати кожен рядок: epulzio-agent.py та install-agent.sh.

1. Створіть агента та скопіюйте токен

  1. Відкрийте Панель - LAN-агенти.
  2. Введіть зрозумілу назву (наприклад, "Серверна Київ" або "RPi у магазині") і натисніть + Створити агента.
  3. Панель відобразить токен агента (epulzio_...) та готові команди встановлення для копіювання.
Токен відображається лише один раз. Скопіюйте його одразу. Не передавайте його публічно і не публікуйте на GitHub. Якщо ви його втратите або він витече, відкличте агента в панелі (Revoke) і створіть нового.

2. Виконайте команду встановлення

На цільовому пристрої в терміналі (токен замініть своїм):

curl -fsSL https://epulz.io/install-agent.sh | sudo bash -s epulzio_ВАШ_ТОКЕН

Обережніший підхід (рекомендуємо під час першого встановлення): спершу завантажте скрипт і прочитайте його:

curl -fsSL https://epulz.io/install-agent.sh -o install-agent.sh
less install-agent.sh        # прочитайте, що він робить (1 хв)
sudo bash install-agent.sh epulzio_ВАШ_ТОКЕН

Інсталятор автоматично:

  • Розпізнає архітектуру та дистрибутив (apt / dnf / apk / pacman / zypper)
  • Перевіряє наявність Python 3.8+ та утиліти ping, за потреби встановлює їх
  • Тестує з'єднання з epulz.io
  • Завантажує агента до /opt/epulzio-agent/
  • Створює службу epulzio-agent (systemd, на Alpine - OpenRC) і запускає її
  • Вмикає автоматичний запуск під час перезавантаження системи

Уся інсталяція триває приблизно 30 секунд.

3. Переконайтеся, що агент працює

Стан служби на пристрої:

sudo systemctl status epulzio-agent

Ви маєте побачити active (running).

Список LAN-агентів зі статусом онлайн у панелі ePulz.io
Панель - LAN-агенти: статус, останній контакт та версія агента

У Панель - LAN-агенти статус з'явиться протягом 30 секунд:

  • онлайн - останній сигнал життя (heartbeat) надійшов менше ніж 2 хвилини тому
  • позначка часу - останній heartbeat був 2-10 хвилин тому
  • офлайн - останній heartbeat старший за 10 хвилин (сповіщення надходить уже після 5 хвилин тиші)

Варіант через Docker

Якщо у вас немає systemd (TrueNAS, Synology, Unraid, k3s) або ви надаєте перевагу контейнеру, скористайтеся командою з панелі:

docker run -d --name epulzio-agent --restart unless-stopped \
  --network host \
  -e EPULZIO_AGENT_TOKEN=epulzio_ВАШ_ТОКЕН \
  python:3.12-alpine sh -c "apk add -q --no-cache iputils && wget -qO /agent.py https://epulz.io/static/agent/epulzio-agent.py && python /agent.py"

Параметр --network host важливий - агент має бачити вашу мережу LAN, а не лише внутрішній міст Docker. Під час кожного перезапуску контейнера завантажується актуальна версія агента.

macOS та Windows

Для macOS (10.15+, Intel та Apple Silicon):

curl -fsSL https://epulz.io/install-agent-macos.sh -o install-agent-macos.sh
sudo bash install-agent-macos.sh epulzio_ВАШ_ТОКЕН

Для Windows (10+ / Server 2016+, PowerShell від імені адміністратора):

Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
$env:EPULZIO_AGENT_TOKEN="epulzio_ВАШ_ТОКЕН"; iwr -useb https://epulz.io/install-agent.ps1 | iex

Усунення проблем

Інсталятор повідомляє "Missing agent token"

У команді відсутній токен. Запустіть її з токеном наприкінці: ... | sudo bash -s epulzio_ВАШ_ТОКЕН.

Інсталятор повідомляє "must run as root"

Запустіть її через sudo; root потрібен лише для встановлення (служба systemd, запис до /opt).

"Cannot reach epulz.io"

Пристрій не має вихідного HTTPS-з'єднання. Перевірте вручну командою curl https://epulz.io/health. Якщо не вдасться, перевірте брандмауер, DNS і NAT.

"Python 3.8+ required"

Дуже стара система. Оновіть дистрибутив або встановіть новіший Python (на Debian, наприклад, apt install python3.9 з backports).

"Neither systemd nor OpenRC detected"

Система без підтримуваної системи ініціалізації. Скористайтеся варіантом із Docker вище.

Агент залишається офлайн у панелі навіть через 2 хвилини

Перегляньте логи: sudo journalctl -u epulzio-agent -n 50.
Найчастіші причини: неправильно вставлений токен (перевірте, що його скопійовано повністю, включно з префіксом epulzio_), HTTPS заблоковано на брандмауері або неправильний системний час (перевірте його командою date - перевірка SSL-сертифіката потребує правильного часу).

Оновлення агента

Виконайте ту саму команду встановлення знову з тим самим токеном. Інсталятор перезапише файли в /opt/epulzio-agent/ і перезапустить службу, токен залишається дійсним.

Видалення

sudo systemctl stop epulzio-agent
sudo systemctl disable epulzio-agent
sudo rm -rf /opt/epulzio-agent /etc/systemd/system/epulzio-agent.service
sudo systemctl daemon-reload

У панелі додатково позначте агента як Revoked, щоб анулювати його токен.

Наступний крок

Створення першого LAN-монітора (ping, TCP, HTTP).

Перший LAN-монітор
Чи був цей посібник корисним?