Skip to Content
Архитектура

Архитектура

Общая структура системы

Primo ART — модульная распределённая система. Пользовательский интерфейс, серверная часть, агенты и хранилища данных развёртываются как независимые контейнеры и взаимодействуют через общий API-сервер.

Платформа работает в Kubernetes и масштабируется на уровне отдельных компонентов.

Серверная архитектура

Серверная часть построена на микросервисной архитектуре: отдельные Python-сервисы отвечают за обработку сценариев, управление объектами системы, сбор метрик и формирование событий. API-сервер служит единым входным пунктом для агентов и веб-клиента, агрегирует данные выполнения и распределяет их по хранилищам.

Хранилища данных разделены по типам нагрузки:

  • PostgreSQL — основная база с метаданными, конфигурациями и результатами транзакций.

  • OpenSearch — хранилище журналов, событий и запросов анализа.

  • MinIO — файловые объекты, включая скриншоты и бинарные данные.

Обмен между сервисами происходит по HTTPS, доступ контролируется через токены.

Веб-интерфейс

Пользовательский интерфейс реализован на React и TypeScript и работает поверх REST API. Через веб-портал выполняются операции по управлению сценариями, просмотром результатов и настройкой интеграций. Клиентская часть не содержит бизнес-логики: весь функционал обрабатывается сервером, а UI не взаимодействует напрямую с агентами и хранилищами данных.

Агенты мониторинга

Агенты являются автономными исполняющими модулями, которые получают задания, исполняют сценарии и отправляют результаты выполнения через API. Агенты не взаимодействуют друг с другом и не имеют доступа к внутренним сервисам.

Тип агентаНазначение
STM-агентыSTM-агенты отвечают за синтетический мониторинг.

Они эмулируют действия пользователя: ввод текста, переходы между страницами, работу с API. Каждый шаг сценария измеряется и фиксируется как набор таймингов.

Существуют два вида STM-агентов:

STM Lite — работает внутри контейнера в headless-режиме и подходит для лёгких сценариев.
STM Primo — запускается в Windows или Linux и поддерживает RFA-движок для сложных сценариев.
Lite-агентыLite-агенты предназначены для выполнения отдельных типов сценариев (web, API, desktop). Они получают задания от Оркестратора, исполняют шаги и отправляют результаты в основной API-сервер.
EUEM-агентыEUEM-агенты находятся в разработке и предназначены для сбора фактического пользовательского опыта. Они запускаются на рабочих станциях пользователей и фиксируют реальное поведение систем, время отклика интерфейса и этапы бизнес-процессов. Это обеспечивает модель Real User Monitoring, дополняющую синтетические сценарии STM.

Потоки данных

Рабочий цикл системы организован последовательно. Оркестратор назначает агенту задачу, после чего агент исполняет сценарий и формирует отчёт со статусами шагов и временными метриками.

Полученные данные передаются в API-сервер, который распределяет их по соответствующим хранилищам. Веб-интерфейс запрашивает агрегированные результаты только через API и не обращается к базам данных напрямую.

Развёртывание и поставка

Каждый компонент системы поставляется в виде отдельного Docker-образа. Развёртывание выполняется через Helm-чарт, который включает серверные модули, веб-интерфейс, хранилища данных и вспомогательные сервисы.

Агенты распространяются отдельно и масштабируются независимо от серверного слоя. Благодаря этому количество агентов можно увеличивать без изменения конфигурации серверных компонентов, поддерживая рост нагрузки за счёт горизонтального масштабирования исполнительных узлов.

Last updated on