Устранение неполадок¶
Агенты отсутствуют¶
- Убедитесь, что события поступают:
bash
curl -X POST http://localhost:8000/api/v1/ingest/events \
-H "X-API-Key: $API_KEY" \
-H "Content-Type: application/json" \
-d '{"agent_id":"test-agent","event_type":"task_completed","cost_usd":0.01,"business_value":1,"time_saved_minutes":5}'
- Для синхронизации AegisAI:
bash
export AEGISAI_API_URL=https://aegisai.example/api/v1
export AEGISAI_API_KEY=...
python scripts/migrate_aegisai_data.py
См. также: Интеграция.
Метрики пустые / не обновляются¶
bash
docker compose logs api --tail 100
curl http://localhost:8000/api/v1/health/ready
- Убедитесь, что
periodпокрывает даты ваших событий (week/month). - Если Redis недоступен, readiness падает (флаги
database/redis). - После bulk ingest TTL кэша около 30 секунд.
- Функции платных планов возвращают 402, если подписка не
active/trialing— проверьте Settings → Billing.
Не удаётся войти¶
- Email должен быть валидным адресом (не
.local) — demo:admin@example.com. - Для сброса admin-данных: пересоздайте volume БД (
docker compose down -v— удаляет данные) или повторно выполните seed. - Google SSO: tenant должен содержать email-домен пользователя в Users → Organizations (
allowed_email_domains). Неизвестные домены отклоняются. - SSO никогда не создаёт пользователей
super_admin— platform admins остаются только password/bootstrap.
Billing / 402 Payment Required¶
- Free plan: ROI/compare/reports и >1 agent заблокированы. Активный Pro/Business открывает эти разделы.
- Pro/Business без активного Stripe status ведут себя как Free.
- Portal требует
stripe_customer_id(сначала завершите Checkout один раз).
Deploy / migration failed¶
- Ошибка pre-migrate backup прерывает deploy — исправьте контейнер Postgres, затем повторите.
- Устаревший образ Alembic:
deploy.shсобирает API до migrate; убедитесь, чтоIMAGE_TAGсоответствует commit с новыми revisions. - Проверьте
deploy.logиVERSION/GET /api/v1/version. - Откат:
./scripts/rollback.sh --sha $(cat VERSION.prev).
Custom domain не резолвится¶
Сохранение Settings → Domain только записывает tenants.custom_domain. Настройте DNS и добавьте маршруты Traefik/LE вручную — см. Развёртывание.
Frontend 404 для /favicon.png / logo¶
Пересоберите контейнер frontend:
bash
docker compose up -d --build frontend
Lockfile / CI¶
bash
./scripts/check_lockfile.sh
uv pip compile requirements.txt -o requirements-lock.txt
Coverage ниже 55% падает в CI — откройте артефакт coverage-html из workflow run.