2022 Zabbix中国峰会
2022 Zabbix中国峰会

9 字符串函数

此处列出的所有功能均受支持:

下面列出的函数没有附加信息。点击该函数查看完整的详细信息。

函数 说明
ascii 值最左边字符的ASCII码。
bitlength 以比特为单位值的长度。
bytelength 以字节为单位值的长度。
char 通过将值转换为ASCII码来返回字符。
concat 由串联引用的监控项值或常量值产生的字符串。
insert 从字符串中的指定位置开始,将指定的字符或空格插入到字符串中。
jsonpath 返回JSONPath结果。
left 返回值最左边的字符。
length 以字符为单位值的长度。
ltrim 从字符串的开头删除指定的字符。
mid 返回从'start'指定的字符位置开始的N个字符的子字符串。
repeat 重复字符串。
replace 在值中查找样例值并用替换值进行替换。
right 返回值最右边的字符。
rtrim 从字符串的末尾删除指定的字符。
trim 从字符串的开头和结尾删除指定的字符。
xmlxpath 返回XML路径语言结果。

函数详情

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

  • 函数参数用逗号分隔
  • 表达式可以作为参数
  • 字符串参数必须用双引号括起来;否则可能会被误解
  • 可选函数参数(或参数部分)由< >表示
ascii(value)

值最左边字符的ASCII码。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值

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

示例:

ascii(last(/host/key))
bitlength(value)

以比特为单位值的长度。
支持的值类型:字符串文本日志整数

参数:

  • value - 要检查的值

示例:

bitlength(last(/host/key))
bytelength(value)

以字节为单位值的长度。
支持的值类型:字符串文本日志整数

参数:

  • value - 要检查的值

示例:

bytelength(last(/host/key))
char(value)

通过将值转换为ASCII码来返回字符。
支持的值类型:整数

参数:

  • value - 要检查的值

该值必须在0-255范围内。例如,'65'这样的值(解释为ASCII码)将返回'A'。

示例:

char(last(/host/key))
concat(<value1>,<value2>,...)

由串联引用的监控项值或常量值产生的字符串。
支持的值类型:字符串文本日志浮点整数

参数:

  • valueX -由历史函数之一返回的值或常量值(字符串、整数或浮点数)。必须至少包含两个参数。

例如,'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 - 替换的字符串。

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

示例:

insert(last(/host/key),3,2,"b")
jsonpath(value,path,<default>)

返回JSONPath结果。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 如果JSONPath查询没有数据返回,则为可选的回退值。请注意,在其他错误中会返回失败 (比如"不支持的结构")。

示例:

jsonpath(last(/host/proc.get[zabbix_agentd,,,summary]),"$..size")
left(value,count)

返回值最左边的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • count - 返回的字符数。

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

示例:

left(last(/host/key),3) #return three leftmost characters
length(value)

以字符为单位值的长度。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值

示例:

length(last(/host/key)) #the length of the latest value
       length(last(/host/key,#3)) #the length of the third most recent value
       length(last(/host/key,#1:now-1d)) #the length of the most recent value one day ago
ltrim(value,<chars>)

从字符串的开头删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • chars(可选)-指定要删除的字符

默认情况下,空格会被左对齐(如果未指定可选字符)。另参见: rtrim(), trim()

示例:

ltrim(last(/host/key)) #remove whitespace from the beginning of string
       ltrim(last(/host/key),"Z") #remove any 'Z' from the beginning of string
       ltrim(last(/host/key)," Z") #remove any space and 'Z' from the beginning of string
mid(value,start,length)

返回从’start’指定的字符位置开始的N个字符的子字符串。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • start - 子字符串的开始位置;
  • length - 要在子字符串中返回的位置。

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

示例:

mid(last(/host/key),2,4)="abbi"
repeat(value,count)

重复字符串。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • count -重复的次数。

示例:

repeat(last(/host/key),2) #repeat the value two times
replace(value,pattern,replacement)

在值中查找样例值并用替换值进行替换。所有出现的样例值都将被替换。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • pattern - 找到样例值;
  • replacement - 替换样例值的字符串。

示例:

replace(last(/host/key),"ibb","abb") - replace all 'ibb' with 'abb'

返回值最右边的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • count - 要返回的字符数。

例如,可以通过指定最右边的 3 个字符来从 'Zabbix' 返回 'bix'。 另参见 left()

示例:

right(last(/host/key),3) #return three rightmost characters
rtrim(value,<chars>)

从字符串的末尾删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • chars (可选)- 指定要删除的字符。

默认情况下,空格会被右对齐(如果未指定可选字符)。另参见: ltrim()trim()

示例:

rtrim(last(/host/key)) #remove whitespace from the end of string
       rtrim(last(/host/key),"x") #remove any 'x' from the end of string
       rtrim(last(/host/key),"x ") #remove any 'x' and space from the end of string
trim(value,<chars>)

从字符串的开头和结尾删除指定的字符。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • chars (可选)- 指定要删除的字符。

默认情况下,空格会被居中对齐(如果未指定可选字符)。另参见ltrim()rtrim()

示例:

trim(last(/host/key)) - remove whitespace from the beginning and end of string
       trim(last(/host/key),"_") - remove '_' from the beginning and end of string
xmlxpath(value,path,<default>)

返回XML路径语言结果。
支持的值类型:字符串文本日志

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 如果XML XPath查询返回空节点集,这是可选的回退值。 如果空结果不是节点集(即空字符串)则不返回。在其他错误中,会返回失败(例如 "无效表达式")。

示例:

xmlxpath(last(/host/xml_result),"/response/error/status")

参见 所有支持的函数