Наблюдаемость (метрики/логи)
ACP: системные метрики
Эндпоинт: POST /acp/system/metrics — защищён ACP-авторизацией. Дополнительно можно включить Prometheus endpoint /metrics, установив observability.metrics.prometheus_enabled: true в config.{MODE}.yml. Он отдаёт те же показатели в текстовом формате Prometheus и не требует авторизации.
Возвращает агрегированные метрики:
cache: счетчики операций/ошибок/времени (если кэш обёрнут метриками)db: счетчики запросов/ошибок/продолжительности (если БД обёрнута метриками)http: метрики HTTP‑клиента (см. ниже)controllers: latencies контроллеров (per-route, avg/p95, source)tasks: статус и длительности cron‑задач (счётчики запусков, success/fail, p95)streams/traffic_flows: runtime метрики per-handler (count, errors, avg/p95) для эндпоинтов/acp/streams/listи/acp/traffic_flows/listhost: сведения о системе (платформа, аптайм, ядро, runtime)
Пример:
{
"http": {
"total_requests": 1234,
"errors": 12,
"duration_ms_sum": 456789,
"buckets_ms": [50,100,200,500,1000,2000,5000],
"counts": [100,220,400,350,120,30,14] // +Inf - последний элемент
},
"host": { "platform": "Ubuntu 22.04", "uptime_seconds": 12345, ... }
}ACP: сводная аналитика (/acp/system/overview)
Эндпоинт: POST /acp/system/overview — защищён ACP-авторизацией. Предназначен для дашборда.
Возвращает:
users— агрегированная статистика регистраций (total, today, week, month)active_users— DAU и MAU (поlast_login_at)online_now— количество пользователей онлайн (Redis, TTL настраиваетсяapp.online_ttl)sessions_today— счётчик сессий за сегодня (Redis INCR)cluster—server_id,is_leader,leader_id— состояние кластераmemory— RAM сервера (total, used, available, percent)redis— сводка Redis INFO (memory, clients, uptime)tasks— статусы и метрики всех cron-задачserver— аптайм процесса, аптайм ОС, Go runtime
Данные users и active_users кэшируются cron-задачей stats_snapshot (по умолчанию раз в час). Остальные поля вычисляются в реальном времени.
ACP: точка входа (POST /acp/me)
Заменяет устаревший POST /acp/acp_users/me. Возвращает всю информацию, необходимую для инициализации ACP-панели: текущий ACP-пользователь, привязанные аккаунты, версия/аптайм сервера, список модулей, платформы, активные маршруты.
HTTP‑метрики: buckets
Bucket’ы (мс) для времени HTTP‑запросов настраиваются конфигом:
observability:
metrics:
http_buckets_ms: [50, 100, 200, 500, 1000, 2000, 5000]Если не заданы - используется дефолтный набор [50,100,200,500,1000,2000,5000]. Даже если поверх HTTP-клиента навешен ретрай-декоратор, он проксирует Stats() базовой реализации, поэтому /acp/system/metrics и /metrics всегда видят агрегированные данные.
Таймауты HTTP‑клиента
См. docs/config/main.md, секция app.http.timeouts.*. Таймауты применяются к клиенту, используемому доменными сервисами (Stream, TrafficFlow, IAP и т.д.).
