monitoring: decouple default profile from optional llm/llm-gpu
Целевой набор профилей compose по умолчанию (media,monitoring) не включает llm/llm-gpu — job `llm` в prometheus.yml и алерт LlmDown в alerts.yml закомментированы, иначе Prometheus постоянно логировал бы неудачный скрейп несуществующего таргета, а LlmDown вечно оставался бы firing. Раскомментировать оба вместе — на инсталляциях с профилем llm/llm-gpu (пресеты 3-5 install.sh). Дашборд «Пайплайны пост-обработки» и docs/deploy/monitoring.md обновлены с пояснением, что большинство панелей показывают «No data» без transcribe/llm — это ожидаемо, не баг.
This commit is contained in:
@@ -19,7 +19,7 @@
|
||||
## 2. Запуск
|
||||
|
||||
```bash
|
||||
docker compose -f deploy/docker-compose.yml --profile monitoring up -d
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env --profile monitoring up -d
|
||||
```
|
||||
|
||||
- Prometheus: http://localhost:9090
|
||||
@@ -53,32 +53,41 @@ Job `llm` в `prometheus.yml` скрейпит `llm:8080/metrics`
|
||||
см. `deploy/docker-compose.yml`) — профили `llm`/`llm-gpu` взаимоисключающи
|
||||
по пресету, поэтому один job без дублирования.
|
||||
|
||||
**По умолчанию job `llm` закомментирован** в `prometheus.yml` (вместе с
|
||||
алертом `LlmDown` в `alerts.yml`) — целевой набор профилей compose
|
||||
(`media,monitoring`, см. `.env.example`) не включает `llm`/`llm-gpu`, и
|
||||
таргет `llm:8080` не резолвится вовсе. Раскомментируйте job и алерт вместе,
|
||||
если инсталляция запущена с профилем `llm`/`llm-gpu` (пресеты 3–5
|
||||
`install.sh`) — иначе панель «LLM-сервер доступен» дашборда «Пайплайны
|
||||
пост-обработки» будет показывать «No data».
|
||||
|
||||
## 4. Алерты (`deploy/monitoring/alerts.yml`)
|
||||
|
||||
| Алерт | Условие | severity |
|
||||
|---|---|---|
|
||||
| `PipelineFailed` | рост числа сеансов в статусе `failed` за 15 минут | critical |
|
||||
| `QueueGrowing` | глубина очереди растёт 15 минут подряд и превышает 10 задач | warning |
|
||||
| `LlmDown` | `up{job="llm"} == 0` дольше 2 минут | critical |
|
||||
| `LlmDown` | `up{job="llm"} == 0` дольше 2 минут | critical (закомментирован по умолчанию) |
|
||||
|
||||
`LlmDown` актуален только на инсталляциях с профилем `llm`/`llm-gpu`
|
||||
(пресеты 3–5) — на пресетах 1/2 (без AI) таргет `llm:8080` в принципе не
|
||||
резолвится и алерт будет постоянно активен, если профиль `monitoring`
|
||||
включён без AI-профиля; в таком случае правило можно закомментировать в
|
||||
локальной копии `alerts.yml`.
|
||||
(пресеты 3–5) — по умолчанию (профили `media,monitoring`, без AI) правило
|
||||
закомментировано в `alerts.yml` вместе с job `llm` в `prometheus.yml`.
|
||||
Раскомментируйте оба, если поднимаете профиль `llm`/`llm-gpu`.
|
||||
|
||||
Проверка — искусственно завалить пайплайн и убедиться, что алерт срабатывает:
|
||||
Проверка (после раскомментирования job/алерта, на инсталляции с профилем
|
||||
`llm`/`llm-gpu`) — искусственно завалить пайплайн и убедиться, что алерт
|
||||
срабатывает:
|
||||
|
||||
```bash
|
||||
# Стек с профилями media, transcribe, llm, monitoring уже поднят,
|
||||
# идёт активная суммаризация (сеанс в статусе summarizing).
|
||||
docker compose -f deploy/docker-compose.yml stop llm
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env stop llm
|
||||
# Подождать > 2 минут → Prometheus (http://localhost:9090/alerts)
|
||||
# должен показать LlmDown в состоянии firing, следом — QueueGrowing
|
||||
# (очередь summarize перестаёт разбираться) и, если сеанс не восстановится
|
||||
# за 15 минут (recover_stuck_summaries переставит задачу, workers/celery_app.py),
|
||||
# PipelineFailed.
|
||||
docker compose -f deploy/docker-compose.yml start llm
|
||||
docker compose -f deploy/docker-compose.yml --env-file .env start llm
|
||||
```
|
||||
|
||||
## 5. Хранение
|
||||
|
||||
Reference in New Issue
Block a user