Особенности архитектуры#
Средства аналитики используют данные Automation Controller для построения сводных показателей, графиков активности и отчетов по использованию автоматизации.
Компонент работает как отдельный аналитический сервис и не участвует в выполнении заданий. Он получает, обрабатывает и агрегирует уже накопленные данные автоматизации, преобразуя их в представления, пригодные для анализа и оценки эффективности.
Взаиодействие Automation Dashboard и Automation Controller представлено на следующей схеме:
Источник и подготовка данных#
Для построения аналитики компонент обращается к Automation Controller по REST API с авторизацией по стандарту OAuth 2.0. Получаемые сведения включают данные о заданиях, шаблонах, проектах, организациях, пользователях и узлах.
Обновление данных выполняется асинхронно и отделено от пользовательского интерфейса. Компонент получает данные инкрементально по мере появления новых записей в контроллере, что позволяет снизить нагрузку на источник данных и избежать постоянных запросов к API во время работы пользователей с интерфейсом.
Обработка и хранение#
Компонент получает данные из Automation Controller, нормализует их и сохраняет в собственной базе данных. После этого система аналитики формирует агрегированные представления, используемые для построения графиков, сводных показателей и отчетов.
Компонент строит аналитику как на основе отдельных заданий, так и на основе агрегированных показателей по узлам, шаблонам, проектам и организациям.
Такой подход позволяет отделить процесс сбора данных от пользовательской аналитики и выполнять сложные вычисления без обращения к рабочему API контроллера.
Особенности доступа и изоляции#
Система определяет доступность данных для пользователя в зависимости от его привилегий в Automation Controller. Она учитывает доступные организации, проекты и шаблоны, поэтому пользователь видит только те данные, к которым у него уже есть доступ в контроллере.
Поскольку аналитика работает поверх сохраненных данных и не управляет заданиями, ее работа не влияет на выполнение автоматизации. Это упрощает эксплуатацию компонента и позволяет развивать отчетность независимо от логики исполнения.