# Мониторинг и алертинг --- ## Базовый мониторинг (нужен всегда) ### Health endpoints ```python GET /health → {"status": "healthy", "version": "1.0.0", "db": "connected"} GET /api/v1/health → {"status": "healthy", "api_version": "v1"} ``` ### Метрики Собираются через middleware и хранятся в БД: - Время ответа (p50/p95/p99) - Количество запросов (всего, по endpoint'ам) - Количество ошибок (4xx, 5xx) - Статус внешних сервисов (БД, Redis, AI провайдеры) --- ## Production мониторинг ### Prometheus + Grafana (рекомендовано) | Компонент | Метрики | |-----------|---------| | Application | Время ответа, ошибки, request rate | | Database | Connection pool, query time | | Redis | Memory, hits/misses | | Celery | Task queue length, execution time | | System | CPU, RAM, disk, network | ### Алерты | Условие | Действие | |---------|----------| | error rate > 1% | Уведомление в Telegram/Slack | | API response p95 > 1s | Уведомление | | DB connection pool > 80% | Предупреждение | | Service down | PagerDuty / звонок | --- ## [ASK] - Нужен ли мониторинг на старте? (базовый — да, Prometheus — перед production) - Отправлять ли алерты? (да, если есть кто-то кто на них реагирует) - Какой канал для алертов? (Telegram — простой, PagerDuty — профессиональный)