9 字符串函数

此处列出的所有函数均支持用于:

以下仅列出函数,不包含附加信息。单击函数可查看完整详细信息。

Function Description
ascii 值最左侧字符的 ASCII 代码。
bitlength 值的位长度。
bytelength 值的字节长度。
char 将值解释为 ASCII 代码并返回相应字符。
concat 通过连接被引用监控项的值或常量值而得到的字符串。
insert 从字符串中的指定位置开始,向字符串中插入指定字符或空格。
jsonpath 返回 JSONPath 结果。
left 返回值最左侧的字符。
length 值的字符长度。
ltrim 从字符串开头移除指定字符。
mid 返回从 'start' 指定的字符位置开始、长度为 N 个字符的子字符串。
repeat 重复一个字符串。
replace 在值中查找模式并替换为 replacement。
right 返回值最右侧的字符。
rtrim 从字符串末尾移除指定字符。
trim 从字符串开头和末尾移除指定字符。
xmlxpath 返回 XML XPath 结果。

函数详情

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

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

值最左侧字符的 ASCII 代码。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值

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

示例:

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

value 的位长度。
支持的值类型:StringTextLogInteger

参数:

  • value - 要检查的值

示例:

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

value 的字节长度。
支持的值类型:StringTextLogInteger

参数:

  • value - 要检查的值

示例:

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

通过将该值解释为 ASCII 代码来返回相应字符。
支持的值类型:Integer

参数:

  • value - 要检查的值

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

示例:

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

通过连接引用的监控项值或常量值而得到的字符串。
支持的值类型:StringTextLogFloatInteger

参数:

  • 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)

从字符串中指定的位置开始,将指定字符或空格插入到该字符串中。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • start - 起始位置;
  • length - 要替换的位置数;
  • replacement - 替换字符串。

例如,如果将值 'Zabbbix' 中的 'bb'(起始位置为 3,要替换的位置数为 2)替换为 'b',则该值将变为 'Zabbix'。

示例:

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

返回 JSONPath 结果。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 可选的回退值,如果 JSONPath 查询未返回数据则使用该值。请注意,发生其他错误时将返回失败(例如“unsupported construct”)。

示例:

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

返回值最左侧的字符。
支持的值类型:StringTextLog

参数:

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

例如,通过指定返回最左侧 3 个字符,您可以从“Zabbix”中返回“Zab”。另请参见 right()

示例:

left(last(/host/key),3) #返回最左侧三个字符
length(value)

value 的字符长度。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值。

示例:

length(last(/host/key)) #最新值的长度
length(last(/host/key,#3)) #倒数第三个最新值的长度
length(last(/host/key,#1:now-1d)) #一天前最近值的长度
ltrim(value,<chars>)

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

参数:

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

默认会移除开头的空白字符(如果未指定可选字符)。另请参见:rtrim()trim()

示例:

ltrim(last(/host/key)) #从字符串开头移除空白字符
ltrim(last(/host/key),"Z") #从字符串开头移除所有 'Z'
ltrim(last(/host/key)," Z") #从字符串开头移除所有空格和 'Z'
mid(value,start,length)

返回从由“start”指定的字符位置开始、长度为 N 个字符的子字符串。
支持的值类型:StringTextLog

参数:

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

例如,对于类似“Zabbix”的值,如果起始位置为 2,返回的字符数为 4,则可以返回“abbi”。

示例:

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

重复一个字符串。
支持的值类型:StringTextLog

参数:

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

示例:

repeat(last(/host/key),2) #将该值重复两次
replace(value,pattern,replacement)

在值中查找模式,并替换为 replacement。模式的所有匹配项都会被替换。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • pattern - 要查找的模式;
  • replacement - 用于替换该模式的字符串。

示例:

replace(last(/host/key),"ibb","abb") #将所有 'ibb' 替换为 'abb'

返回值最右侧的字符。
支持的值类型:StringTextLog

参数:

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

例如,通过指定返回最右侧的 3 个字符,您可以从“Zabbix”中返回“bix”。另请参见 left()

示例:

right(last(/host/key),3) #返回最右侧的三个字符
rtrim(value,<chars>)

从字符串末尾移除指定字符。
支持的值类型:StringTextLog

参数:

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

默认会移除右侧空白字符(如果未指定可选字符)。另请参见:ltrim()trim()

示例:

rtrim(last(/host/key)) #从字符串末尾移除空白字符
rtrim(last(/host/key),"x") #从字符串末尾移除所有 'x'
rtrim(last(/host/key),"x ") #从字符串末尾移除所有 'x' 和空格
trim(value,<chars>)

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

参数:

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

默认会从两端去除空白字符(如果未指定可选字符)。另请参见:ltrim()rtrim()

示例:

trim(last(/host/key)) #从字符串的开头和结尾移除空白字符
trim(last(/host/key),"_") #从字符串的开头和结尾移除 '_'
xmlxpath(value,path,<default>)

返回 XML XPath 结果。
支持的值类型:StringTextLog

参数:

  • value - 要检查的值;
  • path - 路径(必须加引号);
  • default - 可选的回退值,如果 XML XPath 查询返回空节点集,则使用该值。如果空结果不是节点集(即空字符串),则不会返回该值。发生其他错误时将返回失败(例如“invalid expression”)。

示例:

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

参见所有支持的函数