diff --git a/deploy/monitoring/prometheus.yml b/deploy/monitoring/prometheus.yml index d074dda..9f70fd0 100644 --- a/deploy/monitoring/prometheus.yml +++ b/deploy/monitoring/prometheus.yml @@ -53,6 +53,32 @@ scrape_configs: static_configs: - targets: ["container-exporter:9419"] + # LiveKit SFU (профиль `media`). Порт объявлен в самом LiveKit — + # `deploy/livekit/livekit.yaml.template`, секция `prometheus: port: 6789`; + # наружу он не публикуется, скрейп идёт по имени сервиса внутри docker-сети. + # + # Почему это важно отдельно от `container-exporter`: тот показывает CPU, + # память и суммарный трафик контейнера, но ничего не знает о том, ЧТО внутри + # этого трафика. Разбор нагрузочного теста 28.07.2026 пришлось делать по + # логам именно потому, что job'а здесь не было (см. .forcc/LOAD-FINDINGS.md). + # + # Ключевое, что отсюда появляется: + # livekit_track_subscribed_total / livekit_track_published_total — + # подписки против публикаций, то есть прямой эффект adaptiveStream; + # livekit_participant_total, livekit_room_total — нагрузка в участниках; + # livekit_quality_score, livekit_packet_loss_percent, livekit_rtt_ms, + # livekit_jitter_us, livekit_nack_total, livekit_pli_total — качество + # связи у клиентов, а не догадки по событиям congestion в логах; + # livekit_webhook_queue_length, livekit_webhook_dispatch_total — очередь + # доставки вебхуков в backend (на тесте она росла до 56 секунд). + # + # Профиль `media` входит в дефолтный набор COMPOSE_PROFILES (см. .env.example), + # поэтому job включён, а не закомментирован, как `llm`. На инсталляции без + # профиля `media` таргет не резолвится — закомментируйте секцию. + - job_name: livekit + static_configs: + - targets: ["livekit:6789"] + # Локальный LLM-сервер (llama.cpp, LLAMA_ARG_ENDPOINT_METRICS=1). Адрес # `llm:8080` разрешается ОДНИМ из двух compose-сервисов в зависимости от # выбранного при установке пресета — `llm` (CPU, профиль `llm`, уровни