1.7 KiB
1.7 KiB
Мониторинг и алертинг
Базовый мониторинг (нужен всегда)
Health endpoints
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 — профессиональный)