Макросы
Описание
Макросы поиска – это многократно используемые части запроса Smart Monitor Language
, которые можно использовать в других поисковых запросах.
Структура
В названии макроса могут использоваться только буквы, цифры, тире и нижнее подчеркивание.
Макросы содержат следующие параметры:
Название поля | Описание | Обязательный параметр |
---|---|---|
Название | Название макроса | Да |
Поисковый запрос | Текст поискового запроса, на который будет заменен данный макрос. Если используются аргументы, они должны быть заключены в символы доллара, например $arg1$ | Да |
Аргументы | Строка с названиями аргументов, разделенных запятыми | Нет |
Если в макросе указаны аргументы, в конце названия должно указываться их количество в круглых скобках. Например: my_macro(2)
Примеры использования
Запрос данных из индекса sysmon_operational
за последнюю неделю
Параметр | Значение |
---|---|
Название | source_sysmon(1) |
Поисковый запрос | source sysmon_operational-* earliest="now-7d" latest="now" qsize=$qsize$ |
Аргументы | qsize |
Для вызова макроса в запросе его название необходимо заключить в символы апострофа '`'
. Если у макроса есть аргументы, их надо указать в скобках через запятую. Если нужно передать запятую в аргументе, ее необходимо экранировать при помощи обратного слэша.
Пример запроса:
`source_sysmon(1000)`
| stats count by host.hostname
После обработки запрос будет преобразован в следующий вид:
source sysmon_operational-* earliest="now-7d" latest="now" qsize=1000
| stats count by host.hostname
Вызов команды stats
с функцией и by
полями
Параметр | Значение |
---|---|
Название | stats_rename_macros(3) |
Определение | stats $func$ by $field$ | rename '$func$' as $newfield$ |
Аргументы | func,field,newfield |
В данном макросе первым параметром передается функция команды stats
, вторым передаются by
поля и третьим название нового поля.
При помощи экранирования запятой в данный макрос можно передать несколько by
полей.
Пример запроса:
`source_sysmon(1000)`
| `stats_rename_macros(values(event.code), host.hostname \, winlog.task, vals)`
После обработки запрос будет преобразован в следующий вид:
source sysmon_operational-* earliest="now-7d" latest="now" qsize=1000
| stats values(event.code) by host.hostname , winlog.task | rename 'values(event.code)' as vals