新版内容模板的内置函数便于您对数据进行各种操作,丰富了通知内容的格式和展示样式。本文介绍内置模板函数的语法及示例。
通用函数
数学函数
函数 | 说明 | 过滤器 | 示例 |
float(value, default=0.0) | 将整数或字符串转换成浮点数。 如果转换失败,默认返回0.0。通过default参数,可指定转换失败的返回值。 | 支持 |
|
int(value, default=0) | 将一个字符串或数字转换为整数。 如果转换失败,默认返回0。通过default参数,可指定转换失败的返回值。 | 支持 |
|
length(value) | 返回对象(字符串、列表、元组等)的长度或个数。 | 支持 |
|
abs(value) | 返回数字的绝对值。 | 支持 |
|
min(value) | 返回最小值。 | 支持 |
|
max(value) | 返回最大值。 | 支持 |
|
ceil(value) | 向上取整数。 | 支持 |
|
floor(value) | 向下取整数。 | 支持 |
|
round(value, 1) | 四舍五入取整数。 其中, | 支持 |
|
sum(value) | 求和计算。 | 支持 |
|
字符串函数
函数 | 说明 | 过滤器 | 示例 |
string(value) | 将对象转为字符串类型。 | 支持 |
此处的1.23为字符串类型。 |
capitalize(value) | 将字符串的首字母转换为大写形式,其它字符转换为小写形式。 | 支持 |
|
lower(value) | 将字符串转换为小写形式。 | 支持 |
|
upper(value) | 将字符串转换为大写形式。 | 支持 |
|
title(value) | 返回标题化的字符串,即每个单词的首字母为大写形式,其余字母为小写形式。 | 支持 |
|
trim(value) | 删除字符串头尾的空字符。 | 支持 |
|
replace(value, old, new) | 替换目标字符串。 | 不支持 |
|
wordcount(value) | 统计单词个数。 | 支持 |
|
truncate(value, n, end='') | 截断字符串。
| 不支持 |
|
quote(value) | 使用半角双引号("")包裹字符串。 | 支持 |
|
indent(value, n=4) | 对每一行字符串进行缩进,默认缩进4个空格。 通过n参数,可指定缩进的空格数。 | 支持 |
|
startswith(value, prefix) | 判断字符串是否以特定子串开始。 | 支持 |
|
endswith(value, suffix) | 判断字符串是否以特定子串结束。 | 支持 |
|
removeprefix(value, prefix) | 移除字符串的前缀。 | 支持 |
|
removesuffix(value, suffix) | 移除字符串的后缀。 | 支持 |
|
split(value, sep=None, maxsplit=-1) | 切割字符串。
| 支持 |
|
列表和对象函数
函数 | 说明 | 过滤器 | 示例 |
enumerate(value) | 将一个可迭代的对象组合为一个索引序列,并列出原始元素和元素的下标。 | 不支持 |
|
list(value) | 将一个可迭代的对象转换为列表类型。 | 支持 |
|
dict(value) | 创建一个字典,类似于直接使用 | 不支持 |
|
first(value) | 返回列表中的第一项。 | 支持 |
|
last(value) | 返回列表中的最后一项。 | 支持 |
|
sort(value, reverse=true) | 对列表中的元素进行排序。 通过reverse=true,可实现逆序排序。 | 支持 |
|
dictsort(value) | 将对象中的键值对(Key:Value)按照Key进行排序,返回数组。 | 支持 |
|
join(value, d='') | 使用连接符连接列表中的元素。 通过d参数,可指定连接符。 | 支持 |
|
格式化函数
函数 | 说明 | 过滤器 | 示例 |
escape_markdown(value) | 转义特殊的Markdown字符。 | 支持 |
|
escape_html(value) | 转义特殊的HTML字符。 | 支持 |
|
to_json(value) | 将对象转为JSON格式。 | 支持 |
|
parse_json(value) | 将字符串解析为JSON数据结构。 | 支持 |
|
编码和解码函数
函数 | 说明 | 过滤器 | 示例 |
base64_encoding(value) | 对输入值进行Base64编码。 | 支持 |
|
base64_decoding(value) | 对输入值进行Base64解码。 | 支持 |
|
md5_encoding(value) | 对输入值进行MD5编码。 | 支持 |
|
url_encoding(value) | 对输入值进行URL编码。 | 支持 |
|
url_decoding(value) | 对输入值进行URL解码。 | 支持 |
|
日期和时间函数
函数 | 说明 | 过滤器 | 示例 |
parse_date(value, fmt="%Y-%m-%d %H:%M:%S") | 将输入值转为timestamp类型的日期和时间表达式。 通过fmt参数,可指定日期和时间表达式的格式。 | 支持 |
|
format_date(value, tz=None, fmt="%Y-%m-%d %H:%M:%S") | 将输入值进行格式化。 通过fmt参数,可指定日期和时间表达式的格式。 如果输入值不是日期对象,则函数会将其转换为日期对象,再进行格式化。关于日期时间格式化指令的更多信息,请参见日期时间格式化指令。关于时区列表的更多信息,请参见时区列表。 | 不支持 |
|
timestamp(value) | 将时间和日期字符串转换为Unix时间戳。 如果输入值不是日期对象,则函数会将其转换为日期对象,再进行格式化。 | 支持 |
|
format_duration(value, locale='en-US', sep='') | 格式化时间间隔。其中value的单位为秒。 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
告警业务函数
告警业务函数是和告警上下文以及内容模板配置相关,可自动感知如下信息:
在不同的告警上下文中执行告警业务函数时,返回的结果有可能不同。
告警属性,例如当前告警的严重度、状态等。
内容模板语言配置,例如是中文、英文。
通知渠道,例如钉钉、邮件等。
函数 | 说明 | 过滤器 | 示例 |
format_type(alert.type, locale=None) | 将告警类型转换为文字描述。 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
format_region(alert.region, locale=None) | 将告警所在地域转换为文字描述。 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
format_severity(alert.severity, locale=None) | 将告警严重度转换为文字描述,且支持彩色字体。 说明 目前只有钉钉、企业微信、邮件和消息中心这四个渠道支持彩色文本。 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
format_status(alert.status, locale=None) | 将告警状态转换为文字描述,且支持彩色字体。 说明 目前只有钉钉、企业微信、邮件和消息中心这四个渠道支持彩色文本。其他渠道时调用该函数会无改变。 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
to_list(value) | 将数组或对象转换为列表。 | 支持 |
|
annotations_to_list(alert.annotations, locale=None) | 将告警标注转换为列表形式。类似于to_list(alert.annotations),区别在于annotations_to_list函数支持自动将标准名称转换为文字描述,例如将title字段转换为 通过locale参数,可指定文字的语言。locale参数的取值请参见告警业务函数locale取值。 | 支持 |
|
blockquote(value) | 为通知内容添加引用样式。
| 支持 |
|
参考信息
告警业务函数中locale参数的取值
locale取值
说明
None或空字符串
使用内容模板中配置的语言。
en-US
英文。
zh-CN
中文。
告警标注字段映射
标注
映射值(中文)
映射值(英文)
title
标题
Title
desc
描述
Description
anomaly_score
异常分数
Anomaly Score
job_id
任务ID
Task ID
model_id
模型ID
Model ID
severity
异常严重度
Anomaly Severity
__pub_alert_app__
应用
Application
__pub_alert_protocol__
协议
Protocol
__pub_alert_region__
接入区域
Region
__pub_alert_service__
服务
Service
__ensure_url__
异常确认
Anomaly Confirmation
__mismatch_url__
误报确认
False Positive Confirmation
__plot_image__
时序图
Time Series Chart
__host_ip__
机器地址
Machine Address
__host_group_name__
机器组名称
Machine Group Name
__cloud_monitor_type__
阿里云云监控
CloudMonitor