Перейти к содержимому
Перейти к основному содержимому

Agent offline

Агент показывается в дашборде как offline: heartbeat перестал приходить, статус агента красный, по зависимым компонентам могут открываться инциденты. Ниже — как локализовать причину и восстановить связь.

Симптом

  • Статус агента в дашборде app.flaree.ruOffline, last_seen_at давно не обновлялся.
  • Heartbeat не приходит дольше порогового окна (агент шлёт его раз в минуту).
  • Компоненты, обслуживаемые агентом, ушли в Unknown.
  • Процесс агента мог завершиться с кодом выхода 77 (невалидный токен) или 78 (версия ниже minimumVersion / ошибка конфига).

Диагностика

Проверьте состояние сервиса, код выхода, свежие логи и egress до API:

systemctl status flaree-agent
journalctl -u flaree-agent --since "15 min ago" | tail -n 50
curl -sS -o /dev/null -w '%{http_code}\n' https://api.flaree.ru

Интерпретация вывода:

  • systemctl показывает failed со status=77 — токен отозван: в логе строка agent token rejected by backend (401); exit 77 (invalid_token).
  • status=78 — версия ниже серверного minimumVersion или в stderr строка AgentOptions validation failed (неверный конфиг).
  • status=79 — автообновление применено, но перезапуститься процесс не смог; нужен ручной рестарт.
  • curl даёт timeout, Could not resolve host или Connection refused — исходящий HTTPS до api.flaree.ru:443 закрыт фаерволом, прокси или DNS.
  • Сервис active (running), но heartbeat не доходит — смотрите в логе ошибки транспорта (5xx, backoff): агент буферизует данные и дошлёт их после восстановления связи.

Исправление

  1. Exit 77: создайте новый токен в дашборде (Agents → Rotate token), обновите FLAREE_AGENT_TOKEN или token в agent.yaml и перезапустите сервис.
  2. Exit 78: обновите бинарник до актуальной версии (при включённом FLAREE_AGENT_AUTO_UPDATE агент сделает это сам) либо исправьте конфиг по сообщению AgentOptions validation failed.
  3. Exit 79: просто перезапустите сервис; для Docker задайте restart: unless-stopped.
  4. Сеть: откройте исходящий HTTPS до api.flaree.ru:443 (фаервол, прокси, NAT) — других портов агенту не нужно.
sudo systemctl restart flaree-agent
sudo journalctl -u flaree-agent -f
# Ожидаемо: register 200, затем ежеминутные heartbeat без ошибок

Связанные страницы