Skip to Content

Служба Analytic

Служба Primo.Orchestrator.Analytic (далее — Analytic) предназначена для сбора, хранения и предоставления аналитических данных о работе Оркестратора.

Назначение и особенности

Analytic собирает первичные события из RabbitMQ и сохраняет их в отдельную базу данных. В отличие от других служб Оркестратора, Analytic не участвует в операционной работе (запуск роботов, обработка очередей, лицензирование и т.д.). Это аналитический компонент.

Ключевые особенности:

  • Слив первичных данных — служба аккумулирует сырые события с минимальной предварительной агрегацией.
  • Гибкость использования — данные можно использовать как угодно: строить сложные отчёты, создавать материализованные представления (MV), подключаться к БД напрямую из BI-систем или вообще не использовать Analytic — это никак не повлияет на работу Оркестратора.
  • Безопасность для production — Analytic работает с изолированной копией данных. Даже самые ресурсоёмкие аналитические запросы не влияют на основные базы Оркестратора (ltools, ltoolslogs, ltoolsidentity и др.).

Что даёт Analytic администратору:

Analytic позволяет свободно работать с данными без ограничений. Analytical БД — это изолированная площадка, где можно делать с метриками всё, что нужно: строить сложные выборки, создавать долгообновляемые представления, настраивать выгрузки в BI

Принцип работы

  1. Получение событий — служба подключается к RabbitMQ и потребляет сообщения о ключевых событиях (запуски роботов, статусы очередей, ошибки и т.д.).
  2. Обработка и хранение — Analytic сохраняет события в отдельную базу данных PostgreSQL с минимальной предварительной агрегацией.
  3. Предоставление данных — через API служба отдаёт данные для отображения в UI Оркестратора (вкладка «Аналитика»). Кроме того, вы можете подключаться к аналитической БД напрямую и строить собственные отчёты.

Основные функции

  • Запуски роботов — количество запусков, успешных и ошибочных выполнений, длительность процессов, загруженность роботов.
  • Статистика по очередям обмена данными — время обработки элементов, количество повторов, пропускная способность.

Требования к окружению

  • База данных — PostgreSQL (отдельная БД, рекомендованное имя — ltoolsanalytic).
  • Брокер сообщений — RabbitMQ (должен быть доступен для службы).
  • Сетевые порты — служба должна иметь сетевой доступ к RabbitMQ и PostgreSQL.

Установка

Подробные инструкции по установке зависят от операционной системы:

ОССсылка
Windows ServerУстановка Analytic под Windows
Linux (CentOS / РЕД ОС)Установка Analytic под CentOS 8
Linux (Astra Linux, non-root)Установка на Astra Linux (раздел «Analytic»)

Мониторинг

Настройка мониторинга службы Analytic описана в статье Мониторинг служб Оркестратора.

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

Настройка службы выполняется в файле appsettings.Prod<Platform>.json (например, appsettings.ProdLinux.json или appsettings.ProdWin.json).

Основные параметры:

{ "ConnectionStrings": { "AnalyticConnection": "PORT=5432;TIMEOUT=15;POOLING=True;MINPOOLSIZE=1;MAXPOOLSIZE=20;COMMANDTIMEOUT=20;DATABASE=ltoolsanalytic;HOST=192.168.61.183;USER ID=postgres;PASSWORD=..." }, "RabbitMQ": { "HostName": "192.168.61.183", "Port": 5672, "UserName": "guest", "Password": "guest", "VirtualHost": "/" } }
  • AnalyticConnection — строка подключения к аналитической БД PostgreSQL. Пароль рекомендуется шифровать утилитой PasswordEncryptor.
  • RabbitMQ — параметры подключения к брокеру сообщений (хост, порт, логин, пароль, виртуальный хост).

Возможные сценарии использования

  1. Тяжёлая аналитика — строить сложные отчёты с долгими запросами, не опасаясь за нагрузку на основные БД.
  2. Материализованные представления — создавать MV, которые рефрешатся по расписанию, для ускорения типовых отчётов.
  3. Прямой доступ из BI — подключать к аналитической БД корпоративные BI-системы (Power BI, Tableau, Qlik и др.).
  4. Встроенная аналитика — использовать готовые дашборды в UI Оркестратора (вкладка «Аналитика»).
  5. Отказ от использования — если аналитика не нужна, службу можно не устанавливать или не запускать; это не повлияет на основной функционал Оркестратора.