Перейти к содержанию

Мониторинг

Руководство по мониторингу состояния AegisAI в production.

Health Checks

Liveness

Проверяет, что API-сервер отвечает:

curl http://localhost:8000/api/v1/health
{
  "status": "healthy",
  "version": "1.1.0",
  "environment": "production"
}

Readiness

Проверяет готовность всех зависимостей:

curl http://localhost:8000/api/v1/health/ready
{
  "status": "ready",
  "checks": {
    "database": "ok",
    "redis": "ok",
    "opa": "ok"
  }
}

Kubernetes

Используйте /health для liveness probe и /health/ready для readiness probe.

Статус платформы

Детальный статус всех компонентов:

curl http://localhost:8000/api/v1/status \
  -H "X-API-Key: <key>"
Компонент Проверка
API Версия, uptime
PostgreSQL Подключение, latency
Redis Ping, memory usage
OPA Health, загруженные политики
Anomaly Detector Обучен / не обучен, версия модели
Prompt Guard /api/v1/guard/health, метрики /guard/stats

Prompt Guard

curl http://localhost:8000/api/v1/guard/health
curl http://localhost:8000/api/v1/guard/stats -H "X-API-Key: <key>"

На дашборде: guard_blocked, guard_avg_ms, guard_top_patterns. См. Prompt Guard.

Аномалии и Shadow AI

Метрика Описание
anomaly_ml_backend_total Инференсы по backend
anomaly_processing_seconds Latency sync detect (бюджет p95 ≤ 300 ms)
anomaly_score_histogram Распределение score
anomaly_false_positive_reports_total FP feedback
shadow_candidates_total Кандидаты Discovery по статусу
shadow_time_to_confirm_seconds Время до confirm/dismiss

В Grafana (AegisAI Business Metrics) — панели Anomaly ML / latency / Shadow TTC. Алерты AnomalyLatencyHigh, ShadowAICandidateBacklog. См. Аномалии и Агенты.

Логирование

Конфигурация

Переменная Описание По умолчанию
LOG_LEVEL DEBUG, INFO, WARNING, ERROR INFO
LOG_JSON_FORMAT JSON-формат для агрегаторов false

Просмотр логов (Docker)

# Все сервисы
docker compose logs -f

# Только API
docker compose logs -f app

# OPA
docker compose logs -f opa

# Последние 100 строк
docker compose logs --tail=100 app

Структурированные логи (JSON)

LOG_JSON_FORMAT=true

Формат для интеграции с ELK, Loki, Datadog:

{
  "timestamp": "2026-07-03T04:00:00Z",
  "level": "INFO",
  "logger": "app.main",
  "message": "Loaded 5 Rego policy modules into OPA"
}

Метрики

Anomaly Detector

curl http://localhost:8000/api/v1/anomalies/detector/metrics \
  -H "X-API-Key: <key>"

WebSocket

Количество активных соединений возвращается при подключении:

{
  "event": "system.status",
  "data": {
    "status": "connected",
    "connections": 12,
    "user_connections": 1
  }
}

Мониторинг Docker

# Использование ресурсов
docker stats

# Healthcheck статусы
docker compose ps
Сервис Healthcheck
postgres pg_isready
redis redis-cli ping
app HTTP /api/v1/health
opa HTTP /health (встроенный)

Алерты (рекомендации)

Событие Порог Действие
API down health != 200 PagerDuty / Telegram
PostgreSQL down ready check fail Немедленное оповещение
OPA down ready check fail Warning (fallback активен)
Высокий risk score avg > 0.7 Email Security Analyst
HITL backlog pending > 10 Slack-уведомление
Disk usage > 80% Масштабирование / очистка

Real-time мониторинг

Панель управления (/dashboard) отображает KPI в реальном времени через WebSocket. Для внешнего мониторинга опрашивайте /api/v1/stats с интервалом 30–60 секунд.

Prometheus / Grafana

Эндпоинт GET /metrics реализован. Полный стек: docker-compose.monitoring.yml и monitoring/README.md. Деплой: ./scripts/deploy-monitoring.sh.

AegisAI не использует Celery — алерты очереди смотрите через background_tasks_*.