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:
10
infra/grafana/provisioning/datasources/prometheus.yml
Normal file
10
infra/grafana/provisioning/datasources/prometheus.yml
Normal file
@@ -0,0 +1,10 @@
|
||||
# Автопровижн источника данных Grafana → Prometheus (профиль observability).
|
||||
apiVersion: 1
|
||||
|
||||
datasources:
|
||||
- name: Prometheus
|
||||
type: prometheus
|
||||
access: proxy
|
||||
url: http://prometheus:9090
|
||||
isDefault: true
|
||||
editable: false
|
||||
20
infra/prometheus/prometheus.yml
Normal file
20
infra/prometheus/prometheus.yml
Normal file
@@ -0,0 +1,20 @@
|
||||
# Prometheus scrape-конфиг (профиль observability в docker-compose.prod.yml).
|
||||
# Скрейпит HTTP-метрики API и Celery-метрики из Flower (Flower 2.0 отдаёт их сам).
|
||||
global:
|
||||
scrape_interval: 30s
|
||||
evaluation_interval: 30s
|
||||
|
||||
scrape_configs:
|
||||
- job_name: prometheus
|
||||
static_configs:
|
||||
- targets: ["localhost:9090"]
|
||||
|
||||
- job_name: api
|
||||
metrics_path: /metrics
|
||||
static_configs:
|
||||
- targets: ["api:8000"]
|
||||
|
||||
- job_name: flower # метрики Celery: задачи, время выполнения, воркеры
|
||||
metrics_path: /metrics
|
||||
static_configs:
|
||||
- targets: ["flower:5555"]
|
||||
Reference in New Issue
Block a user