最近更新时间:2026-06-23 19:40:25
本文介绍告警规则触发条件表达式的语法与规则。
告警触发条件需关联图表,因此在配置告警规则前,请先创建仪表盘和图表。创建仪表盘详见仪表盘,创建图表详见统计图表。
表达式中的变量名直接使用 SQL 查询语句返回的字段名。
例如,查询语句为 SELECT COUNT(*) AS error_count WHERE message="level=ERROR" GROUP BY timestamp,则可在表达式中直接使用 error_count 作为变量。
当告警规则关联多个图表时,需通过 $N. 前缀区分不同图表的字段,其中 N 为图表序号(从 0 开始)。例如,$1.response_time 表示序号为 1 的图表中的 response_time 字段。
告警触发条件支持如下运算符。
分类 | 运算符 | 含义 | 示例 |
|---|---|---|---|
基础运算符 | + | 加 | - |
- | 减 | - | |
* | 乘 | - | |
/ | 除 | - | |
% | 取模 | error_count % 100 == 5 | |
比较运算符 | > | 大于 | error_count > 0 |
>= | 大于等于 | error_count >= 50 | |
< | 小于 | error_count < 50 | |
<= | 小于等于 | error_count <= 50 | |
== | 等于 | status == 500 | |
!= | 不等于 | status != 500 | |
逻辑运算符 | && | 与 | error_count > 10 && response_time > 1000 |
|| | 或 | error_count > 10 || response_time > 1000 | |
括号 | () | 规定运算优先级 | (error_count / total_count) * 100 > 5 |
示例 | 说明 |
|---|---|
error_count > 10 | 当查询结果中的error_count > 10时触发告警 |
$1.response_time > 1000 | 当序号为 1 的图表查询结果中的response_time > 1000时触发告警 |
纯净模式
