Перейти к основному содержимому
Версия: 4.1

Условные операции

cidrmatch

Описание: Возвращает true или false в зависимости от того, попадает ли значение в условие выборки

В примере ret будет присвоено значение true

Пример №1
... | eval ipa="192.168.3.2", ret=cidrmatch("192.0.0.0/8", ipa)

В примере ret будет присвоено значение false

Пример №2
... | eval ipa="10.22.3.2", ret=cidrmatch("192.0.0.0/8", ipa)

coalesce

Описание: Возвращает первое не нулевое (null) значение из списка переменных. Перебор осуществляется в порядке перечисления полей в запросе

В примере res будет первое не нулевое (null) значение одной переменных user, message, message2

Пример №1
... | eval res=coalesce(user,message,message2)

in

Описание: Возвращает true, если в поле найдено искомое значение (значения) или false, если не было найдено ни одного совпадения

В примере user имеет значение "Alexander", res будет присвоено значение true

Пример №1
... | eval res=in(user, "Aleksey", "Ilya", "Alexander")

В примере user имеет значение "Alexander", res будет присвоено значение false

Пример №2
... | eval res=in(user, "Aleksey", "Ilya")

like

Описание: Возвращает true, если в поле найдено совпадение с паттерном или false, если не было найдено ни одного совпадения

В примере user имеет значение "Alexander", res будет присвоено значение true

Пример №1
... | eval res=like(user, "Ale%")

В примере user имеет значение "Alexander", res будет присвоено значение false

Пример №2
... | eval res=like(user, "Alek%")

match

Описание: Возвращает true,если в поле найдено совпадение с java regexp или false, если не было найдено ни одного совпадения

В примере testVal имеет значение "hello wolrd", res будет присвоено значение true

Пример №1
... | eval res=match(testVal, "^([a-zA-Z].*)")

В примере testVal имеет значение "hello wolrd", res будет присвоено значение false

Пример №2
... | eval res=match(testVal, "^([a-zA-Z]*)")

nullif

Описание: Принимает на вход два значения/поля. Если поля совпадают, возвращает null, если не совпадают, возвращает значение первого поля

В примере testVal имеет значение "hello wolrd", testVal2 имеет значение "hello wolrd". res будет присвоено значение null

Пример №1
... | eval res=nullif(testVal, testVal2)

В примере testVal имеет значение "hello wolrd", testVal2 имеет значение "test case". res будет присвоено значение "hello wolrd"

Пример №2
... | eval res=nullif(testVal, testVal2)

case

Описание: Принимает на вход пары условие - значение, в случае выполнения условия, возвращает значение. Перебор пар идет в порядке написания и возвращается первое успешное условие

В примере 'type' имеет значение "vpn", extended_status будет присвоено значение "VirtualPN"

Пример №1
... | eval extended_status=case('type' == "vpn", "VirtualPN", 'type' == "", "NA")

В примере 'type' имеет пустое значение, extended_status будет присвоено значение "NA"

Пример №2
... | eval extended_status=case('type' == "vpn", "VirtualPN", 'type' == "", "NA")

if

Описание: Выполняет проверку на совпадение условия, в случае совпадения возвращает первое значение, в случае не совпадения - второе

В примере errNo имеет значение -1, res будет присвоено значение "OK"

Пример №1
... | eval res = if(errNo == -1, "OK", "NOTOK")

В примере errNo имеет значение 503, res будет присвоено значение "NOTOK"

Пример №2
... | eval res = if(errNo == -1, "OK", "NOTOK")

validate

Описание: Принимает на вход пары условие - значение, в случае первого не выполнения условия, возвращает значение. Перебор пар идет в порядке написания и возвращается первое успешное условие

В примере log.offset имеет значение 3090005, validate_result будет присвоено значение "MIN"

Пример №1
... | eval validate_result=validate(log.offset < 3090000, "MIN", (log.offset >= 3090001 AND log.offset <= 3100000), "MEDIUM", log.offset > 3100000, "MAX")

В примере log.offset имеет значение 3080000, validate_result будет присвоено значение "MEDIUM"

Пример №2
... | eval validate_result=validate(log.offset < 3090000, "MIN", (log.offset >= 3090001 AND log.offset <= 3100000), "MEDIUM", log.offset > 3100000, "MAX")

TRUE, FALSE, NULL

Описание: Присваивает полю значение true, false, null

В примере res будет присвоено значение true

Пример №1
... | eval res = TRUE()

В примере res будет присвоено значение false

Пример №2
.. | eval res = FALSE()

В примере res будет присвоено значение null

Пример №3
... | eval res = NULL()