Активные списки
Потоковый коррелятор событий 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"
Если правило обращается к двум и более активным спискам, эти списки должны иметь общую ноду-держатель. Пока такой ноды нет, правило отмечается как неработающее, а его события не обрабатываются, — состояние снимается автоматически, как только размещение списков снова совпадет.