日志服务
数据类型 | 说明 |
数据类型 | 说明 |
数字 | 包含整型(Integer)和浮点型(Double),例如 1、3.1、-2 等。 |
字符串 | 所有字符串均需要被双引号("")或单引号('')包裹。其中,字符串中的特殊字符需转义,支持的转义符为反斜线(\),例如 ""source"" 需写为 "\"source\""。 |
布尔值 | 支持布尔值,即 True 和 False。 |
空值 | None。 |
列表 | 支持列表类型。列表在不同编程语言中的叫法不同,例如数组、列表、Slice 等。例如 list("abc", "xyz")。 |
字典 | 支持字典类型。字典在不同编程语言中的叫法不同,例如对象、字典等。例如 dict("abc", "xyz")。 |
分隔符 | 使用场景 | 示例 |
分隔符 | 使用场景 | 示例 |
{{ }} | 可用于变量或表达式中,是变量和表达式的基本格式。 |
|
{% %} | 用于控制语句。 | {% if count >0 %} 有错误 {% else %} 无错误 {% endif %} |
{# #} | 用于在通知内容中插入注释信息,注释仅显示在告警策略的配置中,不会随通知内容发送给接受者。 | {# 这是一行单行注释 #} {% comment %} 这是多行注释中的第一行 这是多行注释中的第二行 {% endcomment %} |
类别 | 操作符 | 说明 |
类别 | 操作符 | 说明 |
算数操作 | + | 加法 |
| - | 减法 |
| * | 乘法 |
| / | 除法,返回值是一个浮点数。 |
| % | 取模 |
比较操作 | == | 等于 |
| != | 不等于 |
| > | 大于 |
| >= | 大于等于 |
| < | 小于 |
| <= | 小于等于 |
逻辑操作 | && 或者 and | 且操作 |
| || 或者 or | 或操作 |
| ! 或者 not | 取反 |
其它操作 | In | 用于判断是否包含,判断后返回 Boolean 类型的结果。 例如针对以下类型进行判断:
|
| () | 操作组合,例如:{{ x > y and (x > z or y > z) }}。 |
使用方式 | 示例 |
使用方式 | 示例 |
if | {% if ConsecutiveAlertNums >= 300 %} 持续告警 {% endif %} |
if-else | {% if ConsecutiveAlertNums >= 300 %} 持续告警 {% else %} 短暂告警 {% endif %} |
if-elif | {% if ConsecutiveAlertNums >= 300 %} 持续告警 {% elif ConsecutiveAlertNums >= 150 %} 短暂告警 {% endif %} |
if-elif-else | {% if ConsecutiveAlertNums >= 300 %} 持续告警 {% elif ConsecutiveAlertNums>=100 && type == 2 %} 告警恢复 {% else %} 短暂告警 {% endif %} |
If 嵌套 | {% if ConsecutiveAlertNums >= 300 %} 持续告警 {% else %} {% if ConsecutiveAlertNums >= 150 && type==1 %} 短暂告警 {% elif type==2 %} 告警恢复 {% endif %} {% endif %} |
使用方式 | 示例 |
使用方式 | 示例 |
数组迭代 | {% for log in QueryResultStr %} {{ log }} {% endfor %} |
数组迭代,包含下标访问 |
|
对象迭代 | 通过 for 循环将对象转为键值对(Key:Value)格式的的对象进行迭代。 {% for key, val in dict("a",1,"b",2) %} {{ key }}: {{ val }} {% endfor %} |
嵌套循环 | {%-for logs in QueryLog%} {%- for log in logs%} {{log.name}} {{log.type}} {{log.double_key}} {{log.obj_key.key1}} {{log.obj_key.key2}} {{log.obj_key.key_long}} {{log.obj_key.key_double}} {%endfor-%} {%endfor-%} |
注释类型 | 语法 | 示例 |
注释类型 | 语法 | 示例 |
单行注释 | {# #} | {# 这是一行注释信息 #} |
多行注释 | {% comment %} {% endcomment %} | {% comment %} 这是多行注释中的第一行 这是第二行 {% endcomment %} |