Условные операции
cidrmatch
Описание: Возвращает true
или false
в зависимости от того, попадает ли значение в условие выборки
В примере ret
будет присвоено значение true
... | eval ipa="192.168.3.2", ret=cidrmatch("192.0.0.0/8", ipa)
В примере ret
будет присвоено значение false
... | eval ipa="10.22.3.2", ret=cidrmatch("192.0.0.0/8", ipa)
coalesce
Описание: Возвращает первое не нулевое (null
) значение из списка п еременных. Перебор осуществляется в порядке перечисления полей в запросе
В примере res
будет первое не нулевое (null
) значение одной переменных user
, message
, message2
... | eval res=coalesce(user,message,message2)
in
Описание: Возвращает true
, если в поле найдено искомое значение (значения) или false
, если не было найдено ни одного совпадения
В примере user
имеет значение "Alexander"
, res
будет присвоено значение true
... | eval res=in(user, "Aleksey", "Ilya", "Alexander")
В примере user
имеет значение "Alexander"
, res
будет присвоено значение false
... | eval res=in(user, "Aleksey", "Ilya")
like
Описание: Возвращает true
, если в поле найдено совпадение с паттерном или false
, если не было найдено ни одного совпадения
В примере user
имеет значение "Alexander"
, res
будет присвоено значение true
... | eval res=like(user, "Ale%")
В примере user
имеет значение "Alexander"
, res
будет присвоено значение false
... | eval res=like(user, "Alek%")
match
Описание: Возвращает true
,если в поле найдено совпадение с java regexp или false
, если не было найдено ни одного совпадения
В примере testVal
имеет значение "hello wolrd"
, res
будет присвоено значение true
... | eval res=match(testVal, "^([a-zA-Z].*)")
В примере testVal
имеет значение "hello wolrd"
, res
будет присвоено значение false
... | eval res=match(testVal, "^([a-zA-Z]*)")
nullif
Описание: Принимает на вход два значения/поля. Если поля совпадают, возвращает null
, если не совпадают, возвращает значение первого поля
В примере testVal
имеет значение "hello wolrd"
, testVal2
имеет значение "hello wolrd"
. res
будет присвоено значение null
... | eval res=nullif(testVal, testVal2)
В примере testVal
имеет значение "hello wolrd"
, testVal2
имеет значение "test case"
. res
будет присвоено значение "hello wolrd"
... | eval res=nullif(testVal, testVal2)