Правила обработки событий

Таблица правил обработки событий определяет:

  • какие события будут отклонены без обработки, маршрутизации или хранения;

  • как система обнаруживает дубликаты событий и агрегирует их, уменьшая общее количество событий;

  • как долго хранимые события будут оставаться в истории событий.

Формат таблицы правил обработки событий:

Маска контекстов

Каждая запись в таблице определяет правила обработки события в каждом контексте, соответствующем данной маске. Например, если мы устанавливаем время хранения 1 месяц для события "login" (в столбце событие) и устанавливаем маску контекстов в значение "users.admin" (соответствует контексту пользователь администратора), информация о логинах системного администратора будет храниться в течение одного месяца. Если маска контекстов установлена в значение "users.*", успешные логины всех пользователей будут храниться в течение выбранного периода.

Если маска не задана, (т.е. NULL), правило применимо к событиям во всех контекстах.

Событие

Имя события, чьи правила обработки определяются этой записью.

Префильтр

Выражение, используемое для отклонения событий, которые не соответствуют определенным критериям. Отклоненные события не сохраняются в базе данных, не передаются слушателям и не обрабатываются никакими модулями системы.

При заданном выражении префильтра, события будут отклонены, если выражение возвращает FALSE.

Среда выполнения выражения префильтра:

Контекст по умолчанию

Контекст события.

Таблица данных по умолчанию

Таблица данных, содержащая данные для разных типов событий.

Ряд по умолчанию

0

Переменные среды

Только стандартные переменные.

Выражение идентификатора дедупликации

Выражение, используемое для расчета идентификаторов дедупликации событий. Выражение преобразуется в строку. Если очередь событий в оперативной памяти (чей размер определяется параметром количество событий для хранения в оперативной памяти) содержит событие с тем же идентификатором дедупликации, текущее событие обрабатывается так же, как его дубликат:

  • Число дубликатов предыдушего события увеличится на 1.

  • Время создания предыдущего события будет обновлено до соответствия времени создания дубликата. Таким образом, сохраняется время создания самого последнего дубликата.

  • Событие будет отправлено слушателям только при включенном параметре диспетчеризация дубликатов.

Среда выполнения выражения префильтра:

Контекст по умолчанию

Контекст события.

Таблица данных по умолчанию

Таблица данных, содержащая данные для разных типов событий.

Ряд по умолчанию

0

Переменные среды

Только стандартные переменные.

Количество событий для хранения в оперативной памяти

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

Диспетчеризация дубликатов

Определяет, будет ли событие с обнаруженными в оперативной памяти дубликатами в дальнейшем маршрутизировано и доставлено подписчикам (слушателям).

Время хранения

Продолжительность постоянного хранения. Продолжительность по умолчанию - 100 дней, после чего события навсегда удаляются из истории. Можно специально настроить продолжительность хранения ("время существования") для различных событий.

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

Заданное время хранения, равное нулю, блокирует хранение событий, определенных правилом.

Обогащения

Таблица, определяющая, какие обогащения добавляются к событиям, определенным правилом. Таблица содержит два столбца:

  • имя обогащения

  • выражение значения обогащения

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

Обогащение событий происходит до того, как событие будет сохранено в базе данных истории событий.

Среда выполнения выражения обогащения:

Контекст по умолчанию

Контекст события.

Таблица данных по умолчанию

Таблица данных, содержащая данные для разных типов событий.

Ряд по умолчанию

0

Переменные среды

Только стандартные переменные.

При возникновении события SberMobile Server обрабатывает таблицу правил обработки события от первой до последней записи. Если контекст, в котором произошло событие, соответствует маске, определенной записью, сервер применяет определяемые этой записью параметры для хранения события и прекращает поиск по списку, т.е. применяется первое соответствие, даже если маски в строках ниже также соответствуют контексту. Таким образом, правила с более узкими масками контекста должны предшествовать правилам c более широкими масками.

Если контекст не соответствует ни одной из масок, определенных в таблице, для хранения и обработки события будут применены параметры по умолчанию, определенные в дескрипторе события.

Пример: допустим, имеется следующая таблица правил обработки событий:

Пример: допустим, имеется следующее правило обработки событий: