Базовый сервис для сбора событий
О базовом сервисе
Базовый сервис Сервис для сбора событий (DatareonPlatformEventsStorage) отвечает за сбор событий, которые возникают в сервисах Платформы на сервере кластера, и за сохранение этих событий во внутреннюю базу данных (DatareonDB).
Работает автоматически на каждом сервере и периодически считывает файлы событий, которые сервисы и системы сервера формируют в DatareonDB. Далее события обрабатываются и сохраняются в БД. Эти данные используются другими подсистемами, например — Центром мониторинга и Сервисом аналитики (забирает данные из DatareonDB и сохраняет в СУБД).
При обращении извне сервер использует внутренний кластерный протокол — если событие находится на другом сервере, запрос будет отправлен в соответствующее хранилище того сервера, где эти события реально сохранены.
Основные моменты:
Сбор событий идет периодически по всем модулям, размещенным на сервере (частота сбора задается параметром collectPeriodSec).
События сохраняются в DatareonDB пачками (batch) для оптимизации (размер пачки задается параметром ProcessPackSize).
Глубина выборки (как далеко назад смотреть файлы) ограничена параметром collectMaxDepthMinutes.
Настройки
Вкладка Основные:
Название: название базового сервиса, доступно для редактирования.
Имя: имя базового сервиса, необязательно для заполнения (заполняется автоматически из значения поля Название). При присвоении имени необходимо учитывать перечень зарезервированных имен.
Комментарий: дополнительные сведения о базовом сервисе, поддерживается многострочный ввод.
Для дополнительных настроек перейдите в режим редактора конфигурации.
enabled (boolean): включает / выключает сбор событий. По умолчанию и всегда должно быть установлено true.
collectPeriodSec (integer): периодичность запуска сбора, в секундах. По умолчанию 15.
collectMaxCount (integer): максимальное количество событий для обработки за один цикл. По умолчанию 1000.
processPackSize (integer): размер пачки (batch) для сохранения в БД. По умолчанию 100.
collectMaxDepthMinutes (integer): максимальная глубина отбора файлов событий (как далеко назад смотреть), в минутах. По умолчанию 120 – 2 часа.
storageDataCleaningMaxNumberOfStoredRecords (integer): количество событий, которое может храниться в базе данных сборщика событий.
storageDataCleaningMaxRetentionTimeInDays (integer): срок хранения событий в базе данных сборщика событий в днях.
storageDataCleaningSchedule (string): расписание запуска очистки данных в формате Cron. По умолчанию «0 * * * *» – запуск очистки один раз в час.
storageDataCleaning (string): включена ли очистка данных.
filesStoragePeriodDays (integer): сколько дней хранятся файлы событий на сервере. Удаляются файлы, возраст которых превышает установленное значение. По умолчанию 30.
Примечание
Если срок хранения filesStoragePeriodDays не истек, то независимо от частоты запуска очистки storageDataCleaningSchedule эти файлы удалены не будут.
Основные правила очистки базы данных:
Для выполнения очистки базы данных должно быть задано хотя бы одно из значений: storageDataCleaningMaxNumberOfStoredRecords или storageDataCleaningMaxRetentionTimeInDays.
Очистка выполняется по расписанию – параметр storageDataCleaning.
Очистка выполняется по файлам целиком — частичное удаление записей внутри файла не производится.
Минимальный шаг очистки — 50 000 событий.
Перед очисткой БД выполняется очистка бинарных файлов.
На время очистки приостанавливается запись новых событий и передача данных в Сервис аналитики.
Внимание
Параметр filesStoragePeriodDays управляет удалением файлов событий на сервере – файлы событий, сообщений и тел сообщений. Очистка событий из DatareonDB настраивается параметрами storageDataCleaningMaxNumberOfStoredRecords и storageDataCleaningMaxRetentionTimeInDays.
На вкладке Параметры сервиса будут отображены внесенные изменения.
После внесения данных нажмите на кнопку Сохранить изменения, после этого нажмите на кнопку Применить конфигурацию.
Сохранение событий
События сохраняются в бинарных файлах в каталоге с лог файлами соответствующей системы или модуля. Бинарные файлы создаются для внешних систем и сервисов (кроме базовых сервисов).
Пример формата пути:
Logs\[Тип объекта]\[Ид. объекта]\EventsBin
Например:
Logs\DatareonPlatformProcess\cc18892c-9168-4276-8adc-02ae4882d54b\EventsBin.
Примечание
Настройка хранения текстовых файлов осуществляется в кластере.
Файлы с данными событий сохраняются по датам (подпапки в формате YYYYMMDD).
- События: events_YYYYMMDD_HH_mm_ss_{N:5}_evt.dat. - Сообщения: events_YYYYMMDD_HH_mm_ss_{N:5}_msg.dat. - Тела сообщений: events_YYYYMMDD_HH_mm_ss_{N:5}_bod.dat. - Индекс: events_YYYYMMDD_index.dat.
Максимальный размер файлов с данными (события, сообщения, тела сообщений) ограничен настройками eventsStorageParams конфигурации Кластера.
MaxEventsFileSizeBytes (integer): максимальный размер файла хранения событий (в байтах).
MaxMessagesFileSizeBytes (integer): максимальный размер файла хранения сообщений (в байтах).
MaxBinaryDataFileSizeBytes (integer): максимальный размер файла хранения бинарных данных / тел сообщений (в байтах).
При достижении порога создается новый файл для записи данных события. Размер индекса неограничен, он пишется в рамках даты.