# Правила алертинга Prometheus. Подключены через # `rule_files` в prometheus.yml. Метрики — из `backend/api/metrics.py` # (см. комментарий в prometheus.yml про контракт имён). # # Проверка: алерт на искусственно заваленном пайплайне — остановить `llm` # при активном `summarize_session` (см. `docs/deploy/monitoring.md`). groups: - name: vidconf-pipeline rules: # Растёт число сеансов, застрявших в статусе `failed` # (`conference_sessions.pipeline_status`). # `delta()` — корректная функция PromQL именно для gauge (не # `increase()`, которая рассчитана на монотонные counter'ы). - alert: PipelineFailed expr: delta(vidconf_pipeline_sessions{status="failed"}[15m]) > 0 for: 5m labels: severity: critical annotations: summary: "Растёт число упавших сеансов пайплайна пост-обработки" description: >- За последние 15 минут число сеансов в статусе failed выросло на {{ $value }}. Смотреть логи worker/worker-transcriber и таблицу conference_sessions (pipeline_status). # Глубина хотя бы одной из очередей Celery устойчиво растёт 15 минут # подряд — воркеры не успевают за потоком задач (см. # docs/deploy/scaling.md — вынос очереди в отдельную реплику). - alert: QueueGrowing expr: delta(vidconf_celery_queue_depth[15m]) > 0 and vidconf_celery_queue_depth > 10 for: 15m labels: severity: warning annotations: summary: "Очередь Celery «{{ $labels.queue }}» растёт 15 минут подряд" description: >- Текущая глубина очереди {{ $labels.queue }}: {{ $value }} задач, рост не прекращается 15 минут — см. docs/deploy/scaling.md (вынос очереди в отдельную реплику/масштабирование). # LLM-сервер (llama.cpp, job `llm` — см. комментарий в prometheus.yml # про сетевой алиас `llm`/`llm-gpu`) недоступен. Актуально ТОЛЬКО на # инсталляциях с включённым профилем `llm`/`llm-gpu` (пресеты 3–5, # `install.sh`) — на пресетах 1/2 (без AI) таргет `llm:8080` в принципе # не резолвится, и этот алерт будет постоянно активен, если профиль # `monitoring` включён без AI-профиля; для таких инсталляций правило # можно отключить (закомментировать) в локальной копии alerts.yml. - alert: LlmDown expr: up{job="llm"} == 0 for: 2m labels: severity: critical annotations: summary: "LLM-сервер (llama.cpp) недоступен" description: >- Prometheus не может достучаться до llm:8080 дольше 2 минут — суммаризация встанет (задачи будут копиться в очереди summarize, см. также алерт QueueGrowing). Проверить `docker compose ps llm` / `llm-gpu` и `docker compose logs llm`.