feat(obs): наблюдаемость Prometheus + Grafana под профилем observability
Раньше видимости в прод не было — только email-монитор (костыль). Добавлено без нагрузки по умолчанию (профиль не поднимается, пока не попросят): - API: /metrics через prometheus-fastapi-instrumentator (кол-во/латентность запросов по хендлерам); - Prometheus (infra/prometheus/prometheus.yml) скрейпит API и Flower — из Flower приходят метрики Celery (задачи, время, воркеры) вообще без доп. кода; - Grafana с автопровижном источника Prometheus (infra/grafana/provisioning), пароль через GRAFANA_ADMIN_PASSWORD; - docker-compose.prod.yml: сервисы prometheus/grafana под profiles:[observability] + volumes; .env.example и README пополнены. Запуск: docker compose --profile observability up -d prometheus grafana. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
14
README.md
14
README.md
@@ -184,6 +184,20 @@ docker compose -f docker-compose.prod.yml exec worker-gpu python -m app.migrate_
|
||||
docker compose -f docker-compose.prod.yml up -d worker-gpu
|
||||
```
|
||||
|
||||
## Наблюдаемость (Prometheus + Grafana)
|
||||
|
||||
Опционально (профиль `observability`, по умолчанию не поднимается):
|
||||
|
||||
```bash
|
||||
docker compose -f docker-compose.prod.yml --profile observability up -d prometheus grafana
|
||||
```
|
||||
|
||||
- API отдаёт HTTP-метрики на `/metrics` (кол-во и латентность запросов по хендлерам).
|
||||
- Prometheus (`infra/prometheus/prometheus.yml`) скрейпит API и **Flower** — из
|
||||
Flower приходят метрики Celery (задачи, время выполнения, воркеры) без доп. кода.
|
||||
- Grafana с автоподключённым источником Prometheus (`infra/grafana/provisioning/`);
|
||||
пароль admin — через `GRAFANA_ADMIN_PASSWORD` в `.env` (по умолчанию `admin`).
|
||||
|
||||
## Тестирование и качество кода
|
||||
|
||||
Перед деплоем CI (`.gitea/workflows/deploy.yml`, job `test`) прогоняет два гейта,
|
||||
|
||||
Reference in New Issue
Block a user