Условия передачи данных в дополнительный нормализатор
При создании дополнительных правил парсинга событий вы можете задать условия, при выполнении которых события будут поступать на обработку в это правило парсинга. Условия можно задать в окне Дополнительное правило парсинга на вкладке Условия дополнительной нормализации. В основных правилах парсинга эта вкладка отсутствует.
Доступные параметры:
Использовать сырое событие – если вы хотите передавать сырое событие для дополнительной нормализации, в раскрывающемся списке Использовать сырое событие выберите значение Да. По умолчанию указано значение Нет. Мы рекомендуем передавать сырое событие в нормализаторы типа json и xml. Если вы хотите передавать сырое событие для дополнительной нормализации на второй, третий и далее уровень вложенности, последовательно на каждом уровне вложенности в раскрывающемся списке Использовать сырое событие выберите значение Да.
Поле, которое следует передать в нормализатор – используется для указания поля события в том случае, если вы хотите отправлять на дополнительный парсинг только события с заданными в параметрах нормализатора полями.
Если оставить это поле пустым, в дополнительный нормализатор будет передано событие целиком.
Блок фильтров – используется для формулирования сложных условий, которым должны удовлетворять события, поступающие в нормализатор.
С помощью кнопки Добавить условие можно добавить строку с полями для определения условия (см. ниже).
С помощью кнопки Добавить группу можно добавить группу фильтров. Можно переключать групповые операторы между И, ИЛИ, НЕ. В группы фильтров можно добавить другие группы условий и отдельные условия.
Условия и группы можно менять местами, перетягивая их за значок , а также удалять с помощью значка .
Параметры условий фильтра:
Левый операнд и Правый операнд – используются для указания значений, которые будет обрабатывать оператор.
В левом операнде следует указывать исходное поле событий, поступающих в нормализатор. Например, если в окне Основной парсинг событий настроено сопоставление eventType - DeviceEventClass, то в окне Дополнительный парсинг событий на вкладке Условия дополнительной нормализации в поле левого операнда для фильтра следует указать eventType. Данные обрабатываются только как текстовые строки.
Операторы:
= – полное совпадение левого и правого операндов.
startsWith – левый операнд начинается с символов, указанных в правом операнде.
endsWith – левый операнд заканчивается символами, указанными в правом операнде.
match – левые операнд соответствует регулярному выражению (RE2), указанному в правом операнде.
in – левый операнд соответствует одному из значений, указанных в правом операнде.
Поступающие данные можно предварительно преобразовать, если нажать на кнопку : откроется окно Преобразование, в котором с помощью кнопки Добавить преобразование можно создать правила изменения исходных данных перед тем, как над ними будут совершены какие-либо действия. В окне Преобразования добавленные правила можно менять местами, перетягивая их за значок , а также удалять с помощью значка .
Преобразования – это изменения, которые можно применить к значению до того, как оно будет записано в поле события. Тип преобразования выбирается в раскрывающемся списке.
Доступные преобразования:
lower – используется для перевода всех символов значения в нижний регистр
upper – используется для перевода всех символов значения в верхний регистр
regexp – используется для преобразования значения с помощью регулярного выражения RE2. Поле, в которое следует добавить регулярное выражение, появляется, когда выбран этот тип преобразования.
substring – используется для извлечения символов в диапазоне позиций, указанном в полях Начало и Конец. Эти поля появляются, когда выбран данный тип преобразования.
replace – используется для замены указанной последовательности символов на другую последовательность символов. Когда выбран этот тип преобразования, появляются новые поля:
Символы на замену – в этом поле вы можете указать последовательность символов, которую следует заменить.
Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
trim – используется для удаления одновременно с начала и с конца значения поля события символов, указанных в поле Символы. Это поле появляется при выборе данного типа преобразования. Например, если для значения Microsoft-Windows-Sysmon выполнить преобразование trim со значением Micromon, то получается значение soft-Windows-Sys.
append – используется для добавления в конец значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
prepend – используется для добавления к началу значения поля события символов, указанных в поле Константа. Это поле появляется при выборе данного типа преобразования.
replace with regexp – используется для замены результатов регулярного выражения RE2 на последовательность символов.
Выражение – в этом поле вы можете указать регулярное выражение, результаты которого следует заменить.
Чем заменить – в этом поле вы можете указать последовательность символов, которая должна использоваться вместо заменяемой последовательности символов.
Конвертация закодированных строк в текст:
decodeHexString – используется для конвертации HEX-строки в текст.
decodeBase64String – используется для конвертации Base64-строки в текст.
decodeBase64URLString – используется для конвертации Base64url-строки в текст.
При конвертации поврежденной строки или при ошибках конвертации в поле события могут быть записаны поврежденные данные.
При обогащении событий, если длина закодированной строки превышает размер поля нормализованного события, такая строка будет обрезана и не будет раскодирована.
Если длина раскодированной строки превышает размер поля события, в которое должно быть помещено раскодированное значение, такая строка будет обрезана до размера этого поля события.
Преобразования при использовании расширенной схемы событий
Возможность использования преобразования зависит от типа используемого поля расширенной схемы событий:
для дополнительное поле с типом «Строка» доступны все типы преобразований.
для полей с типами «Число», «Число с плавающей точкой» доступны следующие виды преобразований: regexp, substring, replace, trim, append, prepend, replaceWithRegexp, decodeHexString, decodeBase64String, decodeBase64URLString.
для полей с типами «Массив строк», «Массив чисел» и «Массив чисел с плавающей точкой» доступны следующие виды преобразований: append, prepend.