Параметризованные фильтры

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

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

Как было упомянуто выше, свойство "Правила фильтра" содержит много строк (записей), каждая из которых описывает тип фильтруемого события. Каждая запись может включать в себя выражение фильтра (которое может быть параметризовано). Даже если свойство "Правила фильтра" содержит более одного такого параметризованного выражения фильтра, все параметры фильтра вводятся в одно диалоговое окно. Фильтр событий использует UI-алгоритм Редактировать данные, чтобы вызвать параметры фильтрации.

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

Пример

Далее приведен пример Данных источника Параметризатора с одним строковым полем в Формате (имя пользователя) и Параметризованное выражение:

{username} ~= '.*<e>{username}</e>.*'

Фильтр, содержащий данное параметризованное выражение, потребует параметр "Имя пользователя" при активации:

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

{username} ~= '.*<e>VALUE_OF_USERNAME_PARAMETER_ENTERED_BY_USER</e>.*'

Опять же не нужно ожидать полного понимания этого раздела на данном этапе -- это всего лишь мимолетный взгляд на возможности параметризованных фильтров. Чтобы до конца понять, как это работает, прочитайте статью Метод параметризации.

Автоматическая параметризация

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

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

  • "Filter by 'description_of_field (name_of_context_where_event_is_defined)'": Это что-то похожее на Фильтр по 'Username (users)'. Представляет собой логическое значение (иными словами, неизменяемое), которое включает или отключает фильтр в зависимости от значения данного поля.

  • "description_of_field (name_of_context_where_event_is_defined)": Это что-то похожее на Фильтр по 'Username (users)'. Представляет собой поле ввода (или иной вид ввода изменений, в зависимости от типа поля), куда вы можете ввести значение, по которому необходимо осуществлять фильтрацию.

Например, если вы применяете автоматическую параметризацию к категории "События администрирования", данные параматризации будут определять два параметра: Фильтр по 'Info (administration)' и Info (administration):

Первый параметр позволяет фильтровать по полю Info (информация) события уровня "Информация" (в контексте администрирования). Второй параметр содержит в себе ожидаемое значение поля. Будут фильтроваться только события с полем Info (информация), равным данному значению.