Базовый сервис Хранилище сообщений
О базовом сервисе
Базовый сервис Хранилище сообщений предназначен для работы с сообщениями, которые формируются при выполнении процессов, настроенных через схемы обработки. С его помощью возможно извлечь сообщения для анализа, оперативного контроля и расследования инцидентов.
Данные Хранилища сообщений хранятся в DatareonDB. Базовый сервис запускается на каждом сервере кластера.
Примечание
Базовый сервис Хранилище сообщений заменяет сервис Хранилище сообщений, который использовался в версиях Платформы до 3.2.1.
Путь к каталогу с файлами Хранилища сообщений отображается в ЦМ, путь: Серверы -> Хранилище сообщений -> вкладка Основные. Если в кластере несколько серверов, то у каждого из них отдельная страница Хранилища сообщений. Для резервного копирования данных следует скопировать содержимое этого каталога.
Настройки
Вкладка Основные:
Название: название базового сервиса, доступно для редактирования.
Имя: имя базового сервиса, необязательно для заполнения (заполняется автоматически из значения поля Название). При присвоении имени необходимо учитывать перечень зарезервированных имен.
Комментарий: дополнительные сведения о базовом сервисе, поддерживается многострочный ввод.
Для дополнительных настроек перейдите в режим редактора конфигурации.
Работа с записями Хранилища
Поместить сообщения в Хранилище и затем работать с ними возможно с помощью шагов схем обработки или методов для работы с записями Хранилища, доступных в шаге Алгоритм.
Если в кластере несколько серверов, то у каждого из них свой базовый сервис Хранилище сообщений. Поэтому при выполнении шага Поместить в MS в схеме обработки или метода MessageStorage.Write(…) в шаге Алгоритм сообщение записывается в Хранилище того сервера, на котором выполняется процесс.
Примечание
Шаг Поместить в MS всегда выполняется на текущем сервере. Для остальных шагов должен быть выбран сервер для выполнения шага.
В методах для работы с записями Хранилища, доступных в шаге Алгоритм, возможно указать идентификатор сервера – либо они будут выполнены на том сервере, где выполняется процесс.
Для работы с сообщениями, помещенными в Хранилище, также возможно использовать кнопки на вкладке Сообщения в ЦМ. Если в кластере несколько серверов, то у каждого из них собственная страница Хранилища с сообщениями, которые сохранились при выполнении процессов на данном сервере.
Индексирование данных
Индексирование данных используется для выполнения поиска по телам сообщений в Хранилище.
Механизм индексирования данных запускается после загрузки Хранилища сообщений и завершения основных задач базы данных (проверка целостности, формирование новых колонок и заполнение их значениями). Индексирование данных повторяется каждые 5 минут в течение всего времени работы Платформы.
Время работы механизма индексирования не регламентировано и зависит от количества и размера сообщений.
Индексирование включается в режиме редактора конфигурации базового сервиса Хранилище сообщений через параметр MessageStorageIndexationOptions (string):
IndexationStopped: индексирование данных выключено (значение по умолчанию).
None: индексирование данных включено. Индексирование запускается для всех Хранилищ кластера.
Управление условиями токенизации сообщений
Механизм индексирования делит текстовое представление тела сообщения, помещенного в Хранилище, на части (токены) по регулярному выражению. Начиная с версии 3.2.1.2 доступны параметры, которые определяют, как полученные токены сохраняются на диске в виде файлов. Для работы этих параметров необходимо, чтобы индексация была включена (иначе система игнорирует их значения).
IndexKeys (boolean): требуется ли индексировать ключи (имена полей). По умолчанию включено. Эта настройка работает только для тел сообщений с форматами JSON и XML.
true (по умолчанию): В индекс в виде файлов на диске сохраняются не только значения, но и ключи. Поиск сообщения возможен не только по содержимому, но и по ключу (точному названию поля).
Примечание
Для XML поддерживаются ключи на любом уровне вложенности, для JSON поддерживаются ключи только верхнего уровня (ключи на других уровнях разбиваются на токены по регулярному выражению).
false: Платформа не сохраняет ключи в виде файла. Это уменьшает количество создаваемых файлов-токенов, но делает невозможным поиск по именам полей.
IndexWhiteNoise (boolean): требуется ли индексировать шестнадцатеричные строки – текстовые данные, состоящие из шестнадцатеричных символов. По умолчанию выключено.
true: Платформа записывает в индекс шестнадцатеричные строки, что позволяет находить сообщения по конкретным HEX-последовательностям.
false (по умолчанию): токены, состоящие исключительно из шестнадцатеричных символов, не записываются на диск. Поиск сообщения по шестнадцатеричным строкам будет невозможен.
IndexPeriodSeconds (integer): период запуска индексации в секундах. Максимальное значение 2147483647. Если параметр не задан в конфигурации, то система использует период запуска по умолчанию (5 минут).
Внимание
Изменение настроек разбиения текста сообщения на токены не запускает переиндексацию существующих данных: поиск по старым записям выполняется в соответствии с предыдущими настройками.
Эти параметры являются добавляемыми – по умолчанию они не отображаются в конфигурации. Чтобы задать значения параметров, необходимо добавить их вручную следующим образом:
Поиск по телам сообщений
Поиск по телам сообщений доступен в ЦМ в настройках фильтрации и поиска сообщений, путь: Серверы -> Хранилище сообщений -> вкладка Сообщения -> кнопка Фильтры. Если в кластере несколько серверов, то у каждого из них собственная страница Хранилище сообщений с сообщениями, которые сохранились при выполнении процессов на данном сервере. Поиск выполняется по сообщениям, сохраненным на сервере, и не затрагивает сообщения, сохраненные в других Хранилищах кластера.
Примечание
Поиск по телам сообщений не работает при выключенном индексировании данных, а также недоступен во время непосредственной работы механизма индексирования. Использование поиска доступно только авторизованным пользователям.
Поиск осуществляется из поисковой строки по отдельным словам, по словосочетаниям (флаг Поиск словосочетания в интерфейсе настроек фильтрации), а также с учетом или без учета регистра (флаг Регистрозависимый поиск в интерфейсе настроек фильтрации).
Хранение данных
Политика хранения данных позволяет ограничить максимальное количество сообщений в Хранилище и (или) срок их хранения. При превышении установленных ограничений соответствующие записи будут автоматически удаляться из Хранилища сообщений.
Настройка выполняется в режиме редактора конфигурации базового сервиса Хранилище сообщений – за нее отвечают параметры datareonDBConfig:
storageDataCleaningMaxNumberOfStoredRecords (integer): количество последних сообщений, которые должны остаться в Хранилище после автоматического удаления более старых сообщений.
storageDataCleaningMaxRetentionTimeInDays (integer): срок хранения сообщений в Хранилище в днях. После автоматического удаления в Хранилище останутся только сообщения, срок хранения которых не превышает установленное ограничение.
storageDataCleaningSchedule (string): расписание запуска очистки данных в формате Cron. По умолчанию
"0 * * * *"– запуск очистки один раз в час.storageDataCleaning (string): включена ли очистка данных:
CleaningOn: очистка включена (значение по умолчанию).
CleaningOff: очистка выключена.