监控器模板中的函数
2025-09-11
以下是当前 SaaS 版本中所有可用的模板函数。
部分函数尚未正式公开
部分函数可能存在适用面较小,或仅用于调式的目的,因此未在 观测云文档 中列出
此类函数请根据实际情况判断是否使用
本文档可能比 SaaS 版本超前
本文档按照最新开发版撰写,因此如遇某些函数修复 BUG 或优化,可能较 SaaS 版更超前
to_datetime
将数据转换为时间日期形式
| 参数 |
默认值 |
说明 |
tz |
"Asia/Shanghai" |
时区 |
fmt |
"YYYY-MM-DD HH:mm:ss" |
日期格式 |
| 输入值支持 UNIX 时间戳(单位秒) |
|---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | {% set data = 1735660800 %}
{{ data | to_datetime }}
输出: 2025-01-01 00:00:00
{{ data | to_datetime('+07:00') }}
输出: 2024-12-31 23:00:00
{{ data | to_datetime('UTC') }}
输出: 2024-12-31 16:00:00
{{ data | to_datetime('America/Chicago') }}
输出: 2024-12-31 10:00:00
{{ data | to_datetime('America/Chicago', 'YY-MM-DD HH:mm') }}
输出: 24-12-31 10:00
{{ data | to_datetime(fmt='YY-MM-DD HH:mm') }}
输出: 25-01-01 00:00
|
| 输入值支持符合 ISO8601 格式的日期字符串 |
|---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 | {% set data = '2025-01-01T00:00:00+08:00' %}
{{ data | to_datetime }}
输出: 2025-01-01 00:00:00
{{ data | to_datetime('+07:00') }}
输出: 2024-12-31 23:00:00
{{ data | to_datetime('UTC') }}
输出: 2024-12-31 16:00:00
{{ data | to_datetime('America/Chicago') }}
输出: 2024-12-31 10:00:00
{{ data | to_datetime('America/Chicago', 'YY-MM-DD HH:mm') }}
输出: 24-12-31 10:00
{{ data | to_datetime(fmt='YY-MM-DD HH:mm') }}
输出: 25-01-01 00:00
|
to_date_range_human
将时长转换为易读形式
| 参数 |
默认值 |
说明 |
lang |
"zh" |
语言,可选:"zh","en" |
| 输入值为时长(单位秒) |
|---|
| {% set data = 26 * 3600 + 180 + 1 %}
{{ data | to_date_range_human }}
输出: 1 天 2 小时 3 分钟 1 秒
{{ data | to_date_range_human('en') }}
输出: 1 day 2 hours 3 minutes 1 second
|
| 输入值为字符串时会自动转换 |
|---|
| {% set data = '93781' %}
{{ data | to_date_range_human }}
输出: 1 天 2 小时 3 分钟 1 秒
{{ data | to_date_range_human('en') }}
输出: 1 day 2 hours 3 minutes 1 second
|
to_status_human
将 status 转换为易读形式
| 参数 |
默认值 |
说明 |
lang |
"zh" |
语言,可选:"zh","en" |
| 输入值为 status、事件 df_status 值 |
|---|
| {% set data = 'critical' %}
{{ data | to_status_human }}
输出: 严重
{{ data | to_status_human(en) }}
输出: Critical
|
to_fixed
保留小数点
| 参数 |
默认值 |
说明 |
ndigits |
0 |
小数点位数 |
| 输入值为浮点数 |
|---|
| {% set data = 1.2345 %}
{{ data | to_fixed }}
输出: 1
{{ data | to_fixed(2) }}
输出: 1.23
|
| 输入值为字符串时会自动转换 |
|---|
| {% set data = '1.2345' %}
{{ data | to_fixed }}
输出: 1
{{ data | to_fixed(2) }}
输出: 1.23
|
to_round
四舍五入
| 参数 |
默认值 |
说明 |
ndigits |
0 |
小数点位数 |
| 输入值为浮点数 |
|---|
| {% set data = 1.555 %}
{{ data | to_round }}
输出: 2
{{ data | to_round(2) }}
输出: 1.55
|
| 输入值为字符串时会自动转换 |
|---|
| {% set data = '1.555' %}
{{ data | to_round }}
输出: 2
{{ data | to_round(2) }}
输出: 1.55
|
to_percent
转换为百分比形式
| 参数 |
默认值 |
说明 |
ndigits |
0 |
小数点位数 |
| 输入值为小于 1 的浮点数 |
|---|
| {% set data = 0.27 %}
{{ data | to_percent }}
输出: 27%
{{ data | to_percent(2) }}
输出: 27.00%
|
| 输入值为字符串时会自动转换 |
|---|
| {% set data = '0.27' %}
{{ data | to_percent }}
输出: 27%
{{ data | to_percent(2) }}
输出: 27.00%
|
将 Key-Value 转换为美化的标签形式
| 参数 |
默认值 |
说明 |
separators |
(':', ', ') |
Key-Value、Key-Value 对之间的分隔符 |
| 输入值为 JSON / dict 对象 |
|---|
| {% set data = { 'key1': 'value1', 'key2': 'value2' } %}
{{ data | to_pretty_tags }}
输出: key1:value1, key2:value2
{{ data | to_pretty_tags(('=', ' ')) }}
输出: key1=value1 key2=value2
|
| 输入值为字符串时会自动转换 |
|---|
| {% set data = '{ "key1": "value1", "key2": "value2" }' %}
{{ data | to_pretty_tags }}
输出: key1:value1, key2:value2
{{ data | to_pretty_tags(('=', ' ')) }}
输出: key1=value1 key2=value2
|
limit_lines
限制行数
| 参数 |
默认值 |
说明 |
lines |
3 |
最大输出行数 |
chars |
None |
每行最大输出字符数 |
| 输入值支持任意可以转换为多行字符串的内容 |
|---|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 | {% set data = '123456789a\n223456789a\n323456789a\n423456789a\n523456789a\n623456789a' %}
{{ data | limit_lines }}
输出:
123456789a
223456789a
323456789a
...
{{ data | limit_lines(2) }}
输出:
123456789a
223456789a
...
{{ data | limit_lines(2, 3) }}
输出:
123...
223...
...
{{ data | limit_lines(chars=3) }}
输出:
123...
223...
323...
...
|
limit_chars / limit_text
限制字符数
limit_text 是 limit_chars 的别名
limit_text 与 limit_chars 完全等价
| 参数 |
默认值 |
说明 |
chars |
50 |
最大输出字符数 |
| 输入值支持任意可以转换为字符串的内容 |
|---|
| {% set data = '123456789a223456789a323456789a423456789a523456789a623456789a' %}
{{ data | limit_chars }}
输出: 123456789a223456789a323456789a423456789a523456789a...
{% set data = { 'message': '123456789a223456789a323456789a423456789a523456789a623456789a' } %}
{{ data | limit_chars(35) }}
输出: {'message': '123456789a223456789a32...
|
type_name
输出数据类型名称
| 输入值支持任意内容 |
|---|
| {% set data = {} %}
{{ data | type_name }}
输出: dict
{% set data = 'hello' %}
{{ data | type_name }}
输出: str
|
to_int
转换为整数
| 输入值支持任意可以转换为整数的内容 |
|---|
| {% set data = 1.234 %}
{{ data | to_int }}
输出: 1
{% set data = '42' %}
{{ data | to_int }}
输出: 42
|
to_float
转换为浮点数
| 输入值支持任意可以转换为浮点数的内容 |
|---|
| {% set data = '1.234' %}
{{ data | to_float }}
输出: 1.234
|
to_str
转换为字符串
| 输入值支持任意可以转换为字符串的内容 |
|---|
| {% set data = 1.234 %}
{{ data | to_str }}
输出: 1.234
|
to_json_dumps
转换为 JSON 序列化字符串
| 参数 |
默认值 |
说明 |
indent |
None |
缩进空格数 |
| 输入值为 |
|---|
| {% set data = { 'key1': 'value1', 'key2': 'value2' } %}
{{ data | to_json_dumps }}
输出: {"key1":"value1","key2":"value2"}
{{ data | to_json_dumps(2) }}
输出:
{
"key1":"value1",
"key2":"value2"
}
|
length
获取数据长度
| 输入值支持任意存在长度概念的内容 |
|---|
| {% set data = '123456789a' %}
{{ data | length }}
输出: 10
{% set data = [ 1, 2, 3, 4, 5 ] %}
{{ data | length }}
输出: 5
{% set data = { 'a': 1, 'b': 2 } %}
{{ data | length }}
输出: 2
|