60 lines
3.7 KiB
YAML
60 lines
3.7 KiB
YAML
# Правила алертинга 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`.
|