Сервис аналитики предназначен для сбора и представления событий работы Платформы со всех узлов в виде REST API. В кластере может быть несколько Сервисов аналитики. В каждом сервисе настраиваются условия отбора событий (задаются в виде списка фильтров при создании сервиса). Для хранения данных Сервиса аналитики используется СУБД MSSQL или PostgreSQL. Доставка событий для Сервиса аналитики выполняется с помощью базового сервиса для сбора событий.
Сервис создается автоматически, в параметрах конфигурации сервиса должно быть указано: enabled = true; collectPeriodSec больше 0; collectMaxCount установлено значение по умолчанию (1000).
В Параметрах сбора и хранения событий в конфигурации кластера включена опция Сохранять в формате Datareon.
Наличие СУБД (MSSQL или PostgreSQL) для хранения данных Сервисом аналитики.
Если в конфигурации кластера включено авторазмещение модулей (allocationOptions.auto=true) и используется привязка по адресу базы данных (useDbConnectAddress=true), модуль будет запускаться только на тех узлах, чей адрес совпадает с адресом MSSQL, указанным в параметрах сервиса.
В этом случае добавьте Сервис аналитики в одну из групп серверов - это позволит разместить модуль на выбранном узле.
Нажмите на кнопку + над таблицей сервисов. В рабочей области страницы отобразится интерфейс создания / редактирования сервиса, содержащий вкладки: Основные, Хранение данных, Сбор данных и Предоставление данных.
На вкладке Основные заполните следующие поля:
Название: произвольное название сервиса, обязательно для заполнения.
Имя: уникальное имя сервиса, необязательно для заполнения.
Комментарий: описание сервиса, необязательно для заполнения, поддерживается многострочный ввод.
Включен: для активации сервиса установите флажок.
Правило обработки очередей: выбор настроенного Правила обработки очередей в разделе ЦН Обработка данных.
Настройка сервисов: для создания сервиса выберите вариант Сервис аналитики.
На вкладке Хранение данных:
Выберите используемую СУБД:
MSSQL
Примечание
Если на сервере СУБД MSSQL отключен параметр оптимизированных запросов FILESTREAM, в журнале работы сервиса будет регистрироваться соответствующее предупреждение, не блокирующее работу сервиса. Для нормальной работы сервиса с оптимизированными запросами включите параметр FILESTREAM на стороне сервера СУБД. Если работа с оптимизированными сервисами не требуется, отключите параметр useMemoryOptimizedTable в конфигурации Банка данных для избежания регистрации предупреждений.
PostgreSQL
Внимание
Сервис подключается по имени базы данных PostgreSQL в регистре, указанном в настройках. По умолчанию подключение производится по имени базы данных в нижнем регистре. Если Сервис подключен к базе данных, имя которой содержит символы верхнего регистра, рекомендуется выключить сервис, переименовать базу данных и включить сервис снова.
Примечание
Для работы сервиса с CУБД PostgreSQL пользователь должен обладать правамиВход разрешен (Can login) и Создание баз (Create databases).
Заполните следующие поля:
Сервер.
Экземпляр.
Порт.
Имя базы данных.
Примечание
Если база данных, указанная в настройках, не существует, Платформа самостоятельно создаст базу данных с указанным именем.
Имя СУБД PostgreSQL не должно содержать буквы в верхнем регистре, в противном случае подключение Платформы к СУБД будет невозможно. Для корректного подключения необходимо переименовать СУБД и указать новое имя базы данных в настройках сервиса до применения конфигурации.
Настройте параметры аутентификации:
Установите флажок Вход по имени пользователя и паролю.
Введите имя пользователя и пароль, если для доступа требуется аутентификация.
Если данные пользователя хранятся в базовом сервисе Управление пользователями, установите флажок Получать пароль из модуля Credential. В результате поле Пароль отображаться не будет.
Внимание
Если проставлен флажок Получать пароль из модуля Credential, то пароль берется из Credential при условиях:
На вкладке Сбор данных настраиваются параметры, определяющие, какие события и с какой периодичностью будут собираться Сервисом аналитики. Заполните:
Периодичность сбора (в секундах): указывается интервал, через который выполняется сбор и сохрание событий.
Условия сбора: настройка событий, которые будут собраны. Если условия не заданы, сервис собирает все события платформы.
Чтобы задать условия, нажмите кнопку +. Откроется окно настройки Условий сбора событий, в котором можно уточнить источники и типы данных для анализа, по параметрам доступен мультивыбор:
Сервис Аналитики забирает данные из сервиса Сборщик событий. Если в настройках кластера параметр Уровень логирования событий для хранения не соответствует настройке Уровня логирования в сервисе Аналитики, то в сервис Аналитики будут переданы события в соответствии с настройкой в Кластере.
Для подтверждения выбора из выпадающего списка кликните на любую область вне окна настройки Условий сбора событий. После установки условий нажмите Сохранить.
Для редактирования условий кликните дважды по требуемому настроенному условию. Удалить условия можно напрямую через редактирование конфигурации в JSON или с помощью кнопки Корзина.
Логика сбора данных по фильтрам:
Между различными категориями фильтров → логические И (должны выполниться все условия одновременно).
Между выбранными элементами внутри одного списка → логическое ИЛИ (подойдет любой из выбранных вариантов).
На вкладке Предоставление данных заполните:
Порт для публикации API: указывается порт для API, обязательно для заполнения. Можно выбрать из перечня констант или ввести значение порта.
Подготовку событий для Сервиса аналитики выполняет Базовый сервис для сбора событий. Сервис аналитики с заданной периодичностью выполняет запрос к Сервису для сбора событий, размещенный на том же сервере. При работе Платформы в кластере Сервис для сбора событий выполняет запросы к Сервисам для сбора событий, размещенным на других серверах.
Сервис для сбора событий регистриует все события в соответствии с настроенными в Сервисе аналитики фильтрами в своей технической очереди.
Очереди создаются в папке с данными хранилища событий:
В папке EventsAnalytics для каждого Сервиса аналитики создаются папки для файлов очередей. При получении запроса из Сервиса аналитики выполняется передача накопленных событий для соответствующего Сервиса аналитики.
Собранные Сервисом аналитики события доступны с помощью REST API, опубликованное на порту в соответствии с конфигурацией, на сервере, где размещен Сервис аналитики. Ссылка на сервис и Swagger будут выведены в Центре мониторинга в Параметрах сервиса при рабочем состоянии сервиса.