Перейти к основному содержимому
Версия: 6.1

Императивные правила

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

Корреляция

На вкладке Корреляция настройте общие условия для всей цепочки:

  1. В поле Предварительная фильтрация опишите выражение на диалекте SML (RTC)— грубый отбор событий, которые вообще допускаются к проверке по цепочке; точные условия для каждого шага задаются отдельно в стадиях
  2. Выберите Поля группировки — цепочка ведется отдельно для каждого сочетания значений этих полей
  3. При необходимости включите переключатель Настройка подавления и заполните открывшийся блок Подавление полями Длительность и Единица — так же, как в декларативном правиле (см. Декларативные правила)

Императивная цепочка

В блоке Императивная цепочка соберите последовательность стадий:

  1. Нажмите кнопку Стадия, чтобы добавить очередную стадию цепочки. Стадии выполняются строго в порядке добавления, а тип каждой стадии показан бейджем в ее заголовке
  2. При необходимости включите флажок Сбрасывать цепочку при несовпадении события: если очередное событие группы не подошло под условие текущей стадии, набор цепочки обнуляется и начинается заново с первой стадии
  3. Настройте каждую добавленную стадию — состав полей зависит от выбранного в ней Типа и описан в двух следующих разделах

Императивная цепочка

Стадия типа «Событие»

Стадия типа Событие ждет, пока не накопится заданное число подходящих событий. Чтобы ее настроить:

  1. Заполните Название — по этому имени к полям стадии обращаются последующие стадии через функцию ctx() (см. раздел Обращение к контексту)
  2. В поле Тип выберите значение Событие
  3. В поле Условие опишите выражение на диалекте SML (RTC), которому должно соответствовать событие, чтобы засчитаться стадии
  4. Задайте Порог количества событий — сколько подходящих событий должно накопиться, чтобы стадия считалась пройденной
  5. Задайте Временное окно двумя полями — Длительность и Единица: интервал, за который должны накопиться события порога
  6. Если Порог количества событий больше единицы, заполните блок Правила агрегации событий — метрики с полями Название поля в источнике, Функция и Поле из событий, устроенные так же, как метрики формата сработки декларативного правила (см. Декларативные правила)
  7. При необходимости включите флажок Сохранять исходные события в блоке Сохранение результатов и задайте Лимит исходных событий
  8. При необходимости включите переключатель Добавить в контекст — тогда поля события, зачтенного стадии, станут доступны в условиях последующих стадий через функцию ctx()

Стадия с сохранением контекста

Стадия типа «Отсутствие»

Стадия типа Отсутствие проверяет, что ожидаемое событие не наступит за отведенное время. У нее нет ни порога, ни метрик, ни сохранения исходных событий. Чтобы ее настроить:

  1. Заполните Название
  2. В поле Тип выберите значение Отсутствие
  3. В поле Событие, которое отменяет инцидент опишите на диалекте SML (RTC) условие отменяющего события
  4. Задайте Время ожидания двумя полями — Длительность и Единица

Стадия срабатывает, если в течение Времени ожидания отменяющее событие не пришло. Если оно пришло вовремя, дальнейшее продвижение по этой ветке цепочки останавливается.

Стадия «Отсутствие события»

Обращение к контексту

Функция ctx(стадия, поле) возвращает значение поля, сохраненного стадией с указанным именем в поле Название. Функция работает только для стадий, у которых включен переключатель Добавить в контекст — для остальных стадий обращение к их полям через ctx() недоступно.