Files
vidconf/deploy/monitoring/alerts.yml

60 lines
3.7 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Правила алертинга 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` (пресеты 35,
# `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`.