2022 Zabbix中国峰会
2022 Zabbix中国峰会
Table of Contents

9 字符串函数

此处列出的所有函数都支持:

关于函数参数的一些一般说明:

  • 函数参数用逗号分隔
  • 表达式可以被作为参数
  • 字符串参数必须是双引号;否则可能会被曲解
  • 可选函数参数(或参数部分)由 < >表示
函数
描述 函数专用参数 注释
ascii (value)
值的最左边字符的 ASCII 码 value - 要检查的值 支持的值类型:string, text, log

例如,像'Abc'这样的值将返回'65' ('A'的 ASCII 码)。

示例:
=> ascii(last(/host/key))
bitlength (value)
以比特为单位值的长度 value - 要检查的值 支持的值类型:string, text, log, integer

示例:
=> bitlength(last(/host/key))
bytelength (value)
以字节为单位值的长度 value - 要检查的值 支持的值类型:string, text, log, integer

示例:
=> bytelength(last(/host/key))
char (value)
通过将值转换为ASCII码来返回字符 value - 要检查的值 支持的值类型:integer

值必须在 0-255 范围内。例如,像'65'(转换为ASCII码)将返回'A'.

示例:
=> char(last(/host/key))
concat (<value1>,<value2>,...)
由串联引用的监控项值或常量值产生的字符串 value -历史函数之一返回的值或常量值(字符串、整数或浮点数) 支持的值类型:string, text, log, float, integer

例如,像'Zab' 这样的值串联'bix'(常量字符串)将返回'Zabbix'。

必须至少包含两个参数。

示例:
=> concat(last(/host/key),"bix")
=> concat("1 min: ",last(/host/system.cpu.load[all,avg1]),", 15 min: ",last(/host/system.cpu.load[all,avg15]))
insert (value,start,length,replacement)
从字符串中的指定位置开始,将指定的字符或空格插入到字符串中 value - 要检查的值
start - 起始位置
length - 要替换​​的位置
replacement - 替换字符串
支持的值类型:string, text, log

例如,如果将 'bb'(起始位置 3,要替换的位置 2)替换为 'b',则类似于 'Zabbbix' 的值将替换为 'Zabbix'。

示例:
=> insert(last(/host/key),3,2,"b")
left (value,count)
值的最左边的字符 value - 要检查的值
count - 要返回的字符数
支持的值类型: string, text, log

例如,您可以通过指定要返回的最左边的 3 个字符从'Zabbix' 返回 'Zab'。

示例:
=> left(last(/host/key),3) - 返回最左边的三个字符

另见right()。
length (value)
以字符为单位的值的长度 value - 要检查的值 支持的值类型:str, text, log

示例:
=> length(last(/host/key)) → 最新值的长度
=> length(last(/host/key,#3)) → 最近值中第三大的长度
=> length(last(/host/key,#1:now-1d)) → 一天前最近值的长度
ltrim (value,<chars>)
从字符串的开头删除指定的字符 value - 要检查的值
chars - (可选)指定要删除的字符

默认情况下,空格会被左对齐(如果未指定可选字符)。
支持的值类型:string, text, log

示例:
=> ltrim(last(/host/key)) - 删除字符串开头的空格
=> ltrim(last(/host/key),"Z") - 删除字符串开头任何的 'Z'
=> ltrim(last(/host/key)," Z") - 删除字符串开头的任何空格和 'Z'

另见:rtrim(), trim()
mid (value,start,length)
返回从 'start' 指定的字符位置开始的 N 个字符的子字符串 value - 要检查的值
start - 子字符串的开始位置
length -要在子字符串中返回的位置
支持的值类型: string, text, log

例如,如果起始位置为 2,返回的位置为 4,则可以从像 'Zabbix' 这样的值返回 'abbi'。

示例:
=> mid(last(/host/key),2,4)="abbi"
repeat (value,count)
重复一个字符串 value - 要检查的值
count - 重复的次数
支持的值类型:string, text, log

示例:
=> repeat(last(/host/key),2) - 将值重复两次
replace (value,pattern,replacement)
在值中查找样例值并用替换值进行替换,所有出现的样例值都将被替换 value - 要检查的值
pattern - 找到样例值
replacement - 替换样例值的字符串
支持的值类型:string, text, log

Example:
=> replace(last(/host/key),"ibb","abb") - 将所有 'ibb' 替换为 'abb'
right (value,count)
值的最右边的字符 value - 要检查的值
count - 要返回的字符数
支持的值类型: string, text, log

例如,你可以通过指定最右边的 3 个字符来从 'Zabbix' 返回 'bix'。

示例:
=> right(last(/host/key),3) - 返回最右边的三个字符

另见 left()。
rtrim (value,<chars>)
从字符串的末尾删除指定的字符 value - 要检查的值
chars - (可选)指定要删除的字符

默认情况下,空格会被右对齐(如果未指定可选字符)。
支持的值类型:string, text, log

示例:
=> rtrim(last(/host/key)) -删除字符串末尾的空格
=> rtrim(last(/host/key),"x") - 从字符串结尾删除任何 'x'
=> rtrim(last(/host/key),"x ") - 从字符串结尾删除任何 'x' 或空格

另见:ltrim(), trim()
trim (value,<chars>)
从字符串的开头和结尾删除指定的字符 value - - 要检查的值
chars -(可选)指定要删除的字符

默认情况下,空格会被居中对齐(如果未指定可选字符)。
支持的值类型: string, text, log

Example:
=> trim(last(/host/key)) - 从字符串的开头和结尾删除空格
=> trim(last(/host/key),"_") - 从字符串的开头和结尾删除 '_'

另见:ltrim(), rtrim()