9. Строковые функции
Все перечисленные здесь функции поддерживаются в:
Функции перечислены без подробных сведений. Нажмите на функцию, чтобы увидеть полную информацию.
| Функция | Описание |
|---|---|
| ascii | Код ASCII самого левого символа значения. |
| bitlength | Длина значения в битах. |
| bytelength | Длина значения в байтах. |
| char | Вернуть символ, интерпретируя значение как код ASCII. |
| concat | Строка, получаемая в результате конкатенации упоминаемых значений элементов данных либо констант. |
| insert | Вставить указанные символы или пробелы в символьную строку, начиная с указанной позиции в строке. |
| jsonpath | Вернуть результат JSONPath. |
| left | Самые левые символы значения. |
| length | Длина значения в символах. |
| ltrim | Удалить указанные символы с начала строки. |
| mid | Вернуть подстроку из N символов, начиная с символьной позиции, указанной параметром «старт». |
| repeat | Повторить строку. |
| replace | Найти в значении образец и заменить его заменой. |
| right | Самые правые символы значения. |
| rtrim | Удалить указанные символы с конца строки. |
| trim | Удалить указанные символы с начала и конца строки. |
| xmlxpath | Вернуть результат XML XPath. |
Подробности функций
Некоторые общие замечания о параметрах функций:
- параметры функций разделяются запятыми
- в качестве параметров допустимы выражения
- строковые параметры должны заключаться в двойные кавычки; в противном случае они могут быть интерпретированы неверно
- необязательные параметры функций (или части параметров) обозначаются
угловыми скобками
<>
ascii(значение)
Код ASCII самого левого символа значения.
Поддерживаемые типы значений: String, Text, Log.
Параметр:
- значение — проверяемое значение
Например, значение «Abc» вернёт «65» (код ASCII для буквы «A»).
Пример:
ascii(last(/узел_сети/ключ))
bitlength(значение)
Длина значения в битах.
Поддерживаемые типы значений: String, Text, Log, Integer.
Параметр:
- значение — проверяемое значение
Пример:
bitlength(last(/узел_сети/ключ))
bytelength(значение)
Длина значения в байтах.
Поддерживаемые типы значений: String, Text, Log, Integer.
Параметр:
- значение — проверяемое значение
Пример:
bytelength(last(/узел_сети/ключ))
char(значение)
Вернуть символ, интерпретируя значение как код ASCII.
Поддерживаемые типы значений: Integer.
Параметр:
- значение — проверяемое значение
Значение должно быть в диапазоне 0-255. Например, значение «65» (интерпретируемое как код ASCII) вернёт «A».
Пример:
char(last(/узел_сети/ключ))
concat(<значение1>,<значение2>,...)
Строка, получаемая в результате конкатенации упоминаемых значений элементов данных либо констант.
Поддерживаемые типы значений: String, Text, Log, Float, Integer.
Параметр:
- значениеX — значение, возвращаемое одной из функций истории, либо константа (string, integer или float number). Должно содержать не менее двух параметров.
Например, значение вроде «Zab», объединённое с «bix» (строки-константы), вернёт «Zabbix».
Примеры:
concat(last(/узел_сети/ключ),"bix")
concat("1 min: ",last(/узел_сети/system.cpu.load[all,avg1]),", 15 min: ",last(/узел_сети/system.cpu.load[all,avg15]))
insert(значение,старт,длина,замена)
Вставить указанные символы или пробелы в символьную строку, начиная с указанной позиции в строке.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- старт — начальная позиция;
- длина — заменяемых позиций;
- замена — подставляемая строка.
Например, значение вроде «Zabbbix» будет заменено на «Zabbix», если «bb» (начиная с позиции 3, заменяемых позиций 2) заменяется строкой «b».
Пример:
insert(last(/узел_сети/ключ),3,2,"b")
jsonpath(значение,путь,<умолчание>)
Вернуть результат JSONPath.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- путь — путь (должен быть заключён в кавычки);
- умолчание — необязательное резервное значение на случай, если запрос JSONPath не возвращает данных. Обратите внимание, что при других ошибках возвращается сбой (например, «unsupported construct»).
Пример:
jsonpath(last(/узел_сети/proc.get[zabbix_agentd,,,summary]),"$..size")
left(значение,кол-во)
Вернуть самые левые символы значения.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- кол-во — количество возвращаемых символов.
Например, можно вернуть «Zab» из «Zabbix», указывая для возврата 3 крайних слева символа. См. также right().
Пример:
left(last(/узел_сети/ключ),3) #возвращает три самых левых символа
length(value)
Длина значения в символах.
Поддерживаемые типы значений: String, Text, Log.
Параметр:
- значение — проверяемое значение.
Примеры:
length(last(/узел_сети/ключ)) #длина последнего значения
length(last(/узел_сети/ключ,#3)) #длина третьего из последних значения
length(last(/узел_сети/ключ,#1:now-1d)) #длина самого свежего сутки назад значения
ltrim(значение,<символы>)
Удалить указанные символы с начала строки.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- символы (опционально) — укажите удаляемые символы.
По умолчанию удаляются пробелы (если не указано опциональных символов). См. также: rtrim(), trim().
Примеры:
ltrim(last(/узел_сети/ключ)) #удалить пробелы с начала строки
ltrim(last(/узел_сети/ключ),"Z") #удалить любые символы «Z» с начала строки
ltrim(last(/узел_сети/ключ)," Z") #удалить пробелы и символы «Z» с начала строки
mid(значение,старт,длина)
Вернуть подстроку из N символов, начиная с символьной позиции, указанной параметром «старт».
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- старт — начальная позиция подстроки;
- длина — количество позиций подстроки, которые нужно вернуть.
Например, можно вернуть подстроку «abbi» из значения «Zabbix», если указать начальную позицию 2, а длину 4.
Пример:
mid(last(/узел_сети/ключ),2,4)="abbi"
repeat(значение,кол-во)
Повторить строку.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- кол-во — количество повторений.
Пример:
repeat(last(/узел_сети/ключ),2) #повторить значение дважды
replace(значение,образец,замена)
Найти в значении образец и заменить его заменой. Будут заменены все вхождения образца.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- образец — искомый образец;
- замена — строка, которой заменяется образец.
Пример:
replace(last(/узел_сети/ключ),"ibb","abb") — заменить все «ibb» на «abb»
right(value,count)
Вернуть самые правые символы значения.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- кол-во — количество возвращаемых символов.
Например, можно вернуть «bix» из «Zabbix», если указать возвращать 3 символа справа. См. также left().
Пример:
right(last(/узел_сети/ключ),3) #вернуть три символа справа
rtrim(значение,<символы>)
Удалить указанные символы с конца строки.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- символы (опционально) — укажите удаляемые символы.
По умолчанию удаляются пробелы (если не указано опциональных символов). См. также: ltrim(), trim().
Примеры:
rtrim(last(/узел_сети/ключ)) #удалить пробелы с конца строки
rtrim(last(/узел_сети/ключ),"x") #удалить любые символы «x» с конца строки
rtrim(last(/узел_сети/ключ),"x ") #удалить любые символы «x» и пробелы с конца строки
trim(значение,<символы>)
Удалить указанные символы с начала и конца строки.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- символы (опционально) — укажите удаляемые символы.
По умолчанию удаляются пробелы (если не указано опциональных символов). См. также: ltrim(), rtrim().
Примеры:
trim(last(/узел_сети/ключ)) #удалить пробелы с начала и конца строки
trim(last(/узел_сети/ключ),"_") #удалить «_» с начала и конца строки
xmlxpath(значение,путь,<умолчание>)
Вернуть результат XML XPath.
Поддерживаемые типы значений: String, Text, Log.
Параметры:
- значение — проверяемое значение;
- путь — путь (должен быть заключён в кавычки);
- умолчание — необязательное резервное значение на случай, если запрос XML XPath возвращает пустой набор узлов. Оно не будет возвращено, если пустой результат не является набором узлов (т.е. пустой строкой). При других ошибках возвращается сбой (например, «invalid expression»).
Пример:
xmlxpath(last(/host/xml_result),"/response/error/status")