日志服务提供一系列函数用于处理告警通知内容,您可以通过函数对数据和变量进行各种转换操作与处理。本文档介绍日志服务提供的内置函数语法、使用方式及示例。
函数 | 语法 | 示例 |
---|---|---|
until | until 函数用于生成从 0 到 n 的 Integer 类型数组,步长默认为 1,类似 python 中的 range 函数。例如
其中,n 表示数组长度,Integer 类型。 |
|
untilStep | untilStep 函数用于生成从 start 到 stop (不包含 stop)且步长为 step 的 Integer 类型数组。
其中:
|
|
函数 | 语法 | 示例 |
---|---|---|
uuidv4 | uuidv4 函数用于通过 UUID v4 算法生成一个随机字符串。
|
|
函数 | 语法 | 示例 |
---|---|---|
urlParse | urlParse 函数用于从 URL 中提取指定字段,处理结果为字符串格式。
其中,url 表示待提取字段的 URL 字符串。 | 将一串 URL 提取为以下格式的字符串。
|
urlJoin | urlJoin 函数用于将 URL 对象转换为字符串形式。
其中,urlObj 表示包含 URL 信息的对象。 |
|
函数名称 | 语法说明 | 示例 |
---|---|---|
max | max 函数用于统计所有参数中的最大值。
|
|
min | min 函数用于统计所有参数中的最小值。
|
|
ceil | ceil 函数用于对 data 向上取整。
|
|
floor | floor 函数用于对 data 向下取整。
|
|
add | add 函数用于执行加法运算,即将输入的所有参数都当做 Integer 类型进行相加。
|
|
sub | sub 函数用于执行减法运算,即输出
|
|
div | div 函数用于执行除法运算,即
|
|
mod | mod 函数用于取模,即
|
|
mul | mul 函数用于执行乘法运算,即所有输入参数的乘积,结果 Integer 类型。
|
|
round | round 函数用于对数值进行四舍五入。输出四舍五入后的数值,保留 6 位小数。
其中:
|
|
函数 | 说明 | 使用示例 |
---|---|---|
trim | trim 函数用于删除原始字符串开头和末尾的空字符。
|
|
upper | upper 函数用于将原始字符串中所有字符转换为大写形式。
|
|
lower | lower 函数用于将原始字符串中所有字符转换为小写形式。
|
|
title | title 函数用于将原始字符串进行标题化处理,即每个单词的首字母大写,其余字母小写。
|
|
contains | contains 函数用于判断指定字符串
其中:
|
|
quote | quote 函数用于对字符串的引用,即使用半角双引号("")将指定字符串包裹起来。
|
|
replace | replace 函数用于将指定字符串
其中:
|
|
repeat | repeat 函数用于生成重复的序列,即将字符串重复 n 次。输出结果为字符串格式。
其中:
|
|
substr | substr 函数用于截取字符串
其中:
|
|
nospace | nospace 函数用于删除字符串
其中,str 为字符串类型,表示原始字符串。 |
|
trunc | trunc 函数用于截取字符串
其中:
|
|
abbrev | abbrev 函数用于对指定字符串进行省略处理。该函数中应指定省略后的字符串长度,其他字符串用英文句号(...)代替。输出格式为字符串类型。
其中:
|
|
abbrevboth | abbrevboth 函数保留 [i,j) 的
其中:
|
|
initials | initials 函数用于将字符串
|
|
randAlphaNum | randAlphaNum 函数用于生成包含数字的随机字符串。 输出格式为字符串类型。
其中,n 为 integer 类型,表示字符数量。 |
|
randAlpha | randAlpha 函数用于生成不包含数字的随机字符串。
其中,n 为 Integer 类型,表示字符数量。 |
|
randNumeric | randNumeric 函数用于生成随机数字。 输出结果为字符串类型。
其中,n 为 integer 类型,表示字符数量。 |
|
randAscii | andAscii 函数用于生成随机 ARSCII 字符。输出结果为字符串类型。
其中,n 为 integer 类型,表示字符数量。 |
|
hasPrefix | hasPrefix 函数用于判断指定字符串中是否包含指定前缀。 包含时返回 True,否则返回 False。
其中:
|
|
hasSuffix | hasSuffix 函数用于判断指定字符串中是否包含指定后缀。 包含时返回 True,否则返回 False。
其中:
|
|
squote | squote 函数用于对字符串进行转义,并将其用单引号('')包裹。输出格式为字符串类型。
其中,str 为字符串类型,表示原始字符串。 |
|
cat | cat 函数用于拼接指定字符串。 输出格式为字符串类型。
其中,a、b、c 均为字符串类型,表示待拼接的字符。 |
|
indent | indent 函数用于将字符串对齐,即在指定字符串前补充空格。
其中,n 表示补充的空格数量,str 为原始字符串。 |
|
nindent | nindent 函数用于将字符串换行后对齐,即换行后,再增加 n 个空格。
|
|
plural | plural 函数用于条件判断,参数 i 等于 1 时返回第一个参数,否则返回第二个参数。
|
|
snakecase | snakecase 函数用于将命名规则转换为下划线分割命名法。
|
|
camelcase | camelcase 函数用于将命名规则转换为大驼峰命名法。
|
|
kebabcase | kebabcase 函数用于将命名规则转化成连字符(-)分割命名法。
|
|
swapcase | swapcase 函数用于将字符串中字符的大小写互相转换。
|
|
shuffle | shuffle 函数用于将原始字符串中的字符打乱重新排列成新的字符串。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
join | join 函数使用连接符连接列表 value 中的指定元素。其中,通过 symbol 参数可指定连接符。
|
|
split | split 函数用于分割指定字符串 value。处理结果为对象类型。 其中 key 为 _i,字符串类型,其中 i 表示下标。
其中:
|
|
toString | toString 函数用于将指定参数转换为字符串格式。
|
|
toJson | toJson 函数用于将指定参数转换为 JSON 格式的字符串输出。
|
|
toPrettyJson | toPrettyJson 函数用于将指定参数转换为格式化的字符串。
|
|
ternary | ternary 函数用于条件判断,当 value3 值为 true 时返回 value1,否则返回 value2。
|
|
append | append 函数用于向列表添加指定值,即将值 value 加入到 list1 中。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
list | list 函数用于将指定参数定义为列表。
|
|
dict | dict 函数将参数定义为键值对类型(key-value)的 JSON 对象并返回,类似于直接使用
|
|
hasKey | hasKey 函数用于判断字典 dict 中是否包含指定 key。
|
|
set | set 函数用于对字典赋值某个属性。
|
|
unset | unset 函数用于删除字典里的某个属性。
其中:
|
|
pluck | pluck 函数用于将多个字典中相同的 key 构造成一个数组。
|
|
merge | merge 函数用于合并两个字典,取并集。
|
|
mergeOverwrite | mergeOverwrite 函数用于合并两个字典,如果存在重复 key,则以第二个字典的值为准。
|
|
keys | keys 函数用于获取指定字典的 key 列表,并将其以数组形式返回。
|
|
values | values 函数用于获取字典的 value 列表。
|
|
pick | 保留字典中的指定 key,并将该键值对保存为新的字典。
|
|
omit | 删除字典中的指定 key,并将剩余键值对保存为新的字典。
|
|
deepCopy | deepCopy 函数用于深度复制某个变量。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
push | push 函数用于向列表添加指定值。
|
|
prepend | prepend 函数用于将值加入到 list 的前面。
|
|
first | first 函数用于返回列表第一个元素。
|
|
rest | rest 函数用于返回列表除第一个元素以外的其他元素。
|
|
last | last 函数用于返回列表中的最后一个元素。
|
|
initial | initial 函数用于返回除最后一个元素以外的所有元素。
|
|
reverse | reverse 函数用于将列表的顺序反转。
|
|
uniq | uniq 函数用于去除数组中重复的部分。
|
|
without | without 函数用于取两个数组中不相交的部分,即传入 a 和 b 两个数组,使用差集操作来去除它们之间的公共部分,并输出结果。
|
|
has | has 函数用于判断数组中是否存在某个元素。
|
|
slice | slice 函数用于取 slice 中的值,第一个参数为 list 类型,第二个参数为开始下标,第三个参数为结束下标。
|
|
concat | concat 函数用于将多个数组合并,并保存为新的数组。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
date | date 函数用于将指定时间戳转换为指定格式的字符串。
|
|
dateInZone/date_in_zone | dateInZone/date_in_zone 函数用于获取指定时区的当前时间。
|
|
date_modify/dateModify | date_modify/dateModify 函数用于在时间基础上进行加减时间,例如在当前时间的基础上加 20 分钟,返回 time 类型。
|
|
now | now 函数用于返回当前时间,返回数据类型为 time。
|
|
ago | ago 函数用于返回指定日期和当前时刻的时间间隔。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
sha256sum | sha256sum 函数用于计算输入字符串的 SHA256 值。
其中,string 表示待编码的字符串。 |
|
sha1sum | sha1sum 函数用于计算输入字符串 SHA1 值。
其中,string 表示待编码的字符串。 |
|
adler32sum | adler32sum 函数用于返回 Adler-32 算法校验和。
其中,string 表示待编码的字符串。 |
|
函数 | 说明 | 使用示例 |
---|---|---|
typeOf | typeOf 函数用于获取变量类型。
|
|
typeIs | typeIs 函数用于判断指定字符串是否为指定格式。返回数据类型为 Boolean。
其中:
|
|
kindOf | kindOf 函数用于判断指定参数的数据类型。
|
|
deepEqual | deepEqual 函数用于反射判断两个值是否相等。返回数据类型为 Boolean。
|
|
函数 | 说明 | 使用示例 |
---|---|---|
regexMatch | regexMatch 函数用于判断指定字符串和正则表达式是否匹配。匹配则返回 True,否则返回 False。
其中:
|
|
regexFind | regexFind 函数用于使用指定的正则表达式在指定字符串中提取内容,提取时匹配一次。
其中:
|
|
regexFindAll | regexFindAll 函数用于使用指定的正则表达式在指定字符串中提取内容,提取时指定匹配次数。
其中:
|
|
regexReplaceAll | regexReplaceAll 函数用于将匹配正则表达式的字符串替换为指定字符串。
其中:
|
|
regexSplit | regexSplit 函数等同于 Golang
其中:
|
|
函数 | 说明 | 使用示例 |
---|---|---|
b64enc | b64enc 函数用于对指定字符串进行 Base64 编码。
|
|
b64dec | b64dec 函数用于对指定字符串进行 Base64 解码。语法格式如下:
|
|
b32enc | b32enc 函数用于对指定字符串进行 Base32 编码。语法格式如下:
|
|
b32dec | b32dec 函数用于对指定字符串进行 Base32 解码。语法格式如下:
|
|
QueryLog
内容。QueryLog
内容示例
[ [ { "double_key": 1.1, "name": "bytedance", "obj_key": { "key1": 1, "key2": "key2", "key_double": 1.1, "key_long": 123 }, "type": 1 } ] ]
函数示例
对比项 | 不使用函数 | 使用 toPrettyJson 函数 |
---|---|---|
通知内容配置 |
|
|
结果 |
说明 未输出实际值。 |
说明 已输出实际值。 |
{{DetailUrl}}
内容示例
https://console.volcengine.com/tls/region:tls+cn-beijing/project/a573686e-d097-4227-9fa5-612d0ae2****/alarms/7070267f-30da-4861-8d0a-01f4bc6d5****detail
函数示例
{{substr(0,68, DetailUrl)}}
处理结果
https://console.volcengine.com/tls/
{{NotifyTimeUnix}}
内容示例
1708582822
函数示例
本次告警中最后一条执行语句的起始时间:{{date("2006-01-02 15:04:05",QueryStartTime)}}
处理结果
本次告警中最后一条执行语句的起始时间:2024-02-22 14:20:22
{{AlarmID}}
内容示例
0a335663-88f1-4b51-ad67-c71ae008****
函数示例
告警策略ID:{{sha256sum(AlarmID)}}
处理结果
告警策略ID:b8dc90d8de9cc33efffab28ad263598de8938f09356f83632176bff09ef6****