Раньше видимости в прод не было — только 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>
20 lines
547 B
Plaintext
20 lines
547 B
Plaintext
fastapi==0.111.0
|
||
uvicorn[standard]==0.30.0
|
||
sqlalchemy==2.0.30
|
||
alembic==1.13.1
|
||
asyncpg==0.29.0
|
||
psycopg2-binary==2.9.9
|
||
redis[asyncio]==5.0.4
|
||
celery==5.4.0
|
||
pydantic==2.7.1
|
||
pydantic-settings==2.2.1
|
||
python-jose[cryptography]==3.3.0
|
||
passlib[bcrypt]==1.7.4
|
||
bcrypt==4.0.1 # passlib 1.7.4 несовместим с bcrypt>=4.1 (ошибка __about__ / 72-byte limit)
|
||
python-multipart==0.0.9
|
||
minio==7.2.7
|
||
httpx==0.27.0
|
||
aiofiles==23.2.1
|
||
websockets==12.0
|
||
prometheus-fastapi-instrumentator==7.0.0 # /metrics для Prometheus (профиль observability)
|