Files

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 — профессиональный)