Heimdallr

Контрольный центр AIDA. Управление тенантами, доступом и наблюдаемостью всей платформы. Слой для тех, кто держит AIDA в работе, — администратора и DevOps, не аналитика.

Тенанты

Тенант — изолированная рабочая область. Свой граф зависимостей в отдельной базе, никаких общих данных между тенантами. Типичное деление: отдельный тенант под КХД, под CRM, под ERP — каждая система анализируется независимо.

Список тенантов: поиск по имени, фильтр по статусу, переход в детали.

Жизненный цикл тенанта

Состояние сверяется фоновым reconciler'ом; переходы порождают события в потоке аудита.

СтатусЧто значитОбратимость
PROVISIONINGсоздаётся, базы разворачиваются→ ACTIVE
ACTIVEработает
SUSPENDEDприостановлен (доступ закрыт, данные сохранены)обратимо → ACTIVE
ARCHIVEDзаархивированобратимо в пределах срока хранения → ACTIVE
PURGEDудалён окончательнотерминальный, необратимо

При переходе в SUSPENDED / ARCHIVED / PURGED активные WebSocket-сессии не-суперадминов этого тенанта принудительно закрываются. Необратимые операции требуют подтверждения.

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

Настраивается на каждый тенант:

  • Квоты: число параллельных сессий парсинга, лимит атомов на разбор, число зарегистрированных источников, число параллельных фоновых задач, срок хранения данных (дни).
  • Расписание: cron харвеста (плановая пересборка/обслуживание).
  • Режим ИИ: провайдер модели ассистента (облако / локальный Ollama / выключен).

Имена баз тенанта, идентификатор организации Keycloak и версия конфигурации — неизменяемые поля (правки конфигурации защищены оптимистической блокировкой по версии).

Участники и роли

Доступ ролевой (RBAC): 8 ролей, разворачиваемых в scope'ы, с проверкой на сервере. Приглашение участника — по email с выбором роли; удаление — операция с подтверждением. Один человек может иметь разные роли в разных тенантах.

Полная матрица ролей, scope'ов и слоёв проверки — на странице Безопасность.

Наблюдаемость

Heimdallr — собственный слой наблюдаемости, без внешних систем мониторинга. Метрики живут как временны́е ряды прямо в графовой БД.

РядЧто меряетХранение
события платформыдлительность, счётчик по сервису/типу/тенанту7 дней
прогоны парсингадлительность, строки/байты на выходе, рёбра, входы/выходы365 дней
приём OpenLineageдлительность маппинга, объём, таблицы/колонки/рёбра90 дней
память и запись парсераheap, прогресс, записанные вершины/рёбра35 дней

Поверх — даунсэмплинг (например, прогоны: 5 мин после недели, час после месяца, день после квартала).

Доступ к метрикам: REST /api/heimdall/metrics/series (ряд по времени), topk (топ-N), value (одно значение с трендом), heatmap (матрица).

События в реальном времени: WebSocket-поток ControlEvent с фильтром и «холодным» воспроизведением последних ~200 событий при подключении.

Дашборды: графики на Nivo прямо в интерфейсе Heimdallr.

Безопасность

  • Всё в вашем контуре — on-premise.
  • Аутентификация и роли — Keycloak (OAuth2 Authorization Code + PKCE).
  • Изоляция тенантов на уровне баз; аудит — append-only поток событий.
  • Спроектировано под требования 152-ФЗ.

Подробнее — Безопасность и соответствие.

Связанное