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

Активные списки

Потоковый коррелятор событий Smart Monitor хранит разделяемое между событиями и правилами состояние в активных списках: это списки наблюдения и накопленные признаки, которые правила читают и пополняют по ходу обработки потока.

Активные списки

Параметры списка

Редактор активного списка содержит следующие параметры:

  • Название списка — обязательное поле; допустимы латинские буквы, цифры, _ и -
  • Источники — источники данных из событий которых заполняется список
  • Включить автозаполнение — переключатель, разрешающий пополнение списка из потока событий
  • Фильтр потока — условие на диалекте SML (RTC), отбирающее события для автозаполнения
  • Поля — кнопка Поле добавляет поле с обязательным Название и переключателем Ключевое поле. Для поля можно раскрыть блок Маппинг: пары Источник и Название поля в источнике, по которым значение поля извлекается из события соответствующего источника; кнопка Добавить маппинг добавляет еще одну пару. Ключевые поля образуют составной ключ записи — по нему записи находятся и обновляются при повторном совпадении
  • Включить TTL — переключатель, задающий срок жизни записи с момента последней записи в нее. Пока переключатель выключен, записи хранятся бессрочно и удаляются только вручную
к сведению

Название поля не должно содержать символы . и | — по ним разбираются пути полей события и составные ключи записи. Список без ключевых полей не обновляет записи, а добавляет новую на каждое совпадение.

Редактор активного списка

Репликация и размещение

Блок Репликация и размещение определяет, на каких нодах кластера хранится список:

  • Реплики — число дополнительных копий списка сверх основной
  • Закрепить за отдельными нодами — флаг, включающий ручное размещение. Без него размещение и основной ноды, и реплик определяется автоматически по всем нодам кластера. При установленном флажке появляется таблица с колонками Нода, Primary, Реплика, где для каждой ноды кластера отмечается, будет ли она основной (Primary) или одной из реплик (Реплика) для этого списка

Репликация и размещение

Использование в правилах

Правила обращаются к активным спискам через две функции диалекта SML (RTC):

  • alcontains(список, поле as значение) — проверяет, есть ли в списке запись, у которой указанное поле равно указанному значению. Пар «поле — значение» может быть несколько, тогда запись должна совпасть по всем
  • alget(список, значение, поле) — находит запись по значению ключа и возвращает значение указанного поля этой записи

Подробный синтаксис и примеры — в статье Функции языка условий.

alcontains(ti_ip_blacklist, destination.ip as source.address)
alget(known_hosts, host.name, status) == "trusted"

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