Мониторинг

Мониторинг

Состояние кластера видно в админке (вкладка 🌐 Кластер), через публичные API и в плагине Lampa.

Админ-дашборд

Вкладка обновляется автоматически каждые 5 секунд.

Сводка

КарточкаЧто показывает
Режимprimary / node, статус API-ключа
СтратегияТекущий алгоритм выбора ноды
НодыЖивые / всего (healthy / total)
Локальные коннекцииАктивные соединения на самом primary

Таблица нод

КолонкаЗначение
Статус● Healthy / ● Down / ⏸ Disabled
LiveАктивные соединения сейчас
ServedВсего обслужено запросов
FailОшибок форварда
UsersУникальных клиентов за последние 5 минут (≈ человек)
TrafficПередано байт через ноду
Top балансёрСамый частый источник на ноде
Avg ms / Last msСредний (EWMA) и последний пинг
ВесОтносительный вес в распределении

Клик по строке ноды разворачивает детальную разбивку запросов по балансёрам с процентами.

Под таблицей — блок 🖥 Локально на primary с теми же метриками для самого primary.

Действия по ноде

  • 📡 — немедленный probe (не ждать 30с цикла)
  • ⏸ / ▶ — отключить / включить ноду
  • ✏️ — редактировать (имя, хост, вес, регион)
  • 🗑 — удалить

Публичные эндпоинты

GET /api/servers/info

Инфо о текущем сервере (без авторизации):

{
  "name": "Alcopac-Main",
  "region": "EU",
  "version": "0.4",
  "mode": "primary",
  "cluster": true,
  "strategy": "hybrid",
  "nodes_total": 2,
  "nodes_healthy": 2
}

GET /api/servers/list

Список нод — отдаётся только если включено «Публиковать список нод» в настройках. Хосты включаются только при «Включить хосты нод»:

{
  "strategy": "hybrid",
  "servers": [
    {"self": true,  "name": "Alcopac-Main", "region": "EU", "healthy": true, "uptime_pct": 100},
    {"self": false, "name": "RU-SPB", "region": "RU", "healthy": true, "uptime_pct": 98.3, "avg_latency_ms": 37}
  ]
}

GET /servers

HTML-дашборд со списком серверов, авто-refresh каждые 10с + client-side ping (если хосты публичные).

Заголовки ответа

Ко всем не-/proxy/ ответам добавляется:

  • X-Lampac-Server — имя сервера, который обработал запрос
  • X-Lampac-Server-Region — регион
  • X-Lampac-Server-Host — хост ноды (только когда запрос был форварднут)

Используй для проверки: открой DevTools → Network → ответ /lite/... → если X-Lampac-Server = имя ноды, запрос прошёл через неё.

Плагин в Lampa

Раздел «Серверы» в настройках Lampa (включается флагом [web.plugins] server_widget = true).

Показывает по каждому серверу:

  • Доступность % (uptime за последний час по health-probe)
  • Пинг (latency)
  • Качество — единый бар (uptime × 0.7 + latency × 0.3) с цветовой меткой
Виджет — чисто информационный (read-only). Маршрутизация полностью на стороне primary; клиент только отображает состояние.

Включение

[web.plugins]
server_widget = true

После перезапуска primary плагин автоматически попадает в on.js и подгружается стандартной Lampa без ручной установки.

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

В админке (🌐 Кластер → ⚙️ Настройки):

ПараметрПо умолчаниюОписание
Probe interval30сИнтервал health-probe
Fail threshold3Неудач подряд до пометки down
Recover threshold2Успехов подряд до восстановления
Max retries при 5xx2Попыток на других нодах при ошибке
Имя сервераПоказывается в X-Lampac-Server и виджете
Регион сервераТег региона
Публиковать список нодвклОтдавать /api/servers/list
Включить хосты нодвыклВключать хосты в публичный список