Trigger
Trigger 允许用户基于 SQL 语句定义触发规则,GreptimeDB 根据这些触发规则进行周期性 计算,当满足条件后对外发出通知。
关键特性
- SQL 原生:用 SQL 定义触发规则,复用 GreptimeDB 内置函数,无需额外学习成本
- 多阶段状态管理:内置 pending / firing / inactive 状态机,防止抖动和重复 通知
- 丰富的上下文:自定义 labels 和 annotations,并自动注入查询结果字段,便于精 准定位根因
- 生态友好:告警负载完全兼容 Prometheus Alertmanager,可直接使用其分组、抑制、 静默和路由功能
快速入门示例
本节通过端到端示例展示如何监控系统负载(load1),当负载超过阈值时触发告警。
在本示例中你将:
- 创建指标表:建立
load1表存储主机负载指标 - 定义 Trigger:通过 SQL 设定触发条件,配置 labels、annotations 及通知方式
- 模拟数据写入:依次注入正常与异常的负载数据,激活告警逻辑
- 观察状态变化:实时查看告警实例从 pending → firing → inactive 的完整生命周期
1. 创建数据表
使用 MySQL 客户端连接 GreptimeDB,并创建 load1 表:
CREATE TABLE `load1` (
host STRING,
load1 FLOAT32,
ts TIMESTAMP TIME INDEX
) WITH ('append_mode'='true');