规则报警配置说明
先搞懂「告警在干什么」,再按入口配置:产品模型统一阈值、设备实例单独阈值、规则引擎做转发与编排。画布统一是「触发 → 条件 → 报警 → 通知/转发」。
本文对照当前实现,面向第一次配置告警的用户:名词 → 逻辑图 → 入口差异 → 怎么配 → 组件说明 → 发布后如何核对。
1、名词解释
| 名词 | 白话解释 |
|---|---|
| 产品模型 | 某一类设备的「模板」(如网关 TH-601、某型号子设备)。在模型上配的规则,会作用到绑定该模型的全部设备。 |
| 网关模型 / 子设备模型 / 直连模型 | 都是产品模型,只是类型不同。告警入口界面一样,差别是点位来自各自物模型。 |
| 设备实例 | 某一台具体设备(有设备编码)。设备告警页配的规则只盯这一台。 |
| 物模型 | 设备会上报哪些属性/事件(电流、电压、信号质量等)。触发与条件都从这里选字段。 |
| 规则引擎 | 画布式编排引擎。告警规则、数据转发等都靠它跑;产品/设备告警页是「带着锁定对象」的专用入口。 |
| 产品触发 / 设备触发 | 规则入口节点:谁上报就触发。产品触发 = 该产品下设备;设备触发 = 指定那一台。 |
| 条件判断 | 判断「要不要继续往下走」。支持比较与公式(加减乘除、AND/OR/IF)。有「满足 / 不满足」两个出口。 |
| 报警 | 满足条件后落库一条告警记录(告警中心可见)。可配标题/正文模板。 |
| 通知 | 把上游报警内容推给人(站内信等)。一般接在报警后面;正文跟报警,通知节点里改不了。 |
| HTTP / MQTT 转发 | 把消息推给外部系统(Webhook、第三方 Broker),不是推给人。 |
| 时间条件 | 在条件之后再卡时间:延迟、持续多久才报、只在某时段报等。 |
| 作用域 | 规则管谁:product_model(产品级)/ device(设备级)/ 通用规则引擎。 |
| 发布 | 画布保存后还要发布,规则才对真实上报生效。只保存草稿不够。 |
| 执行记录 | 某次上报走进规则后,每个节点成功/跳过的流水账,用来排障。 |
| 告警记录 / 告警日志 | 真正生成的告警;可确认、恢复、关闭。规则来源会标产品挂载/产品规则/设备规则。 |
| 规则来源 | 这条告警是被「产品规则」还是「设备规则」打出来的,便于区分继承与单台配置。 |
2、告警逻辑(先看懂再配置)
把告警想成一条流水线:
- 设备上报数据(属性/事件)
- 平台找出适用的规则(产品模型规则、设备规则,或通用规则)
- 条件判断(可加时间条件):满足才继续,不满足就结束
- 生成告警写入记录
- 通知人员和/或 转发到外部系统
同一次上报可以并联多路条件(例如信号差一路、内存高一路),各自报警与通知。
推荐最小链路:
产品/设备触发 → 条件判断(满足)→ 报警 →(可选)通知
3、有几种配置方式
| 方式 | 入口 | 触发 | 生效范围 | 是否进「规则引擎」列表 |
|---|---|---|---|---|
| 产品模型告警 | 网关模型 / 子设备模型 / 直连模型 → 告警规则 | 产品触发 | 绑定该模型的全部设备 | 否 |
| 设备实例告警 | 设备/网关详情 → 设备告警 → 告警规则 | 设备触发 | 仅当前这一台 | 否 |
| 通用规则引擎 | 规则引擎 → 规则列表 | 自选 | 按画布配置 | 是 |
怎么选:
- 同型号统一阈值 → 产品模型告警(网关模型与子设备/直连模型操作相同)。
- 单台特殊阈值 → 设备告警(子设备、直连、网关设备页面结构相同)。
- 数据转发、定时、跨对象编排 → 规则引擎列表。
产品级与设备级规则可以同时存在:设备上报时两边都可能命中;告警记录里用「规则来源」区分。
4、入口与页面(对照截图)
4.1 产品模型 · 告警规则列表
路径:打开某个产品模型 →「告警规则」。
网关产品模型示例如下(子设备/直连模型 Tab 与操作相同,只是产品与点位不同)。

列表上可:添加规则、启用开关、编辑、执行记录、告警日志、删除。
类型一般为「规则引擎 / 模型规则」;触发条件列会摘要公式。
子设备/直连模型列表长这样(与上网关模型同一套交互):

点击「添加规则」会弹出新建框,默认带当前产品名;创建并配置后进入画布,触发源已锁定为当前产品:

4.2 产品模型 · 画布示例
网关产品上可并联多路条件(信号、内存、硬盘等),条件支持公式:

子设备/直连模型画布同样是「产品触发 → 条件 → 报警 → 通知」:

4.3 设备实例 · 告警记录与告警规则
路径:设备详情 / 网关详情 →「设备告警」。
- 告警记录:本机产生的告警;可按状态、规则来源筛选;支持确认 / 恢复 / 关闭与批量处理。
- 告警规则:只配本机规则(设备触发锁定)。

「规则来源」列可看到 设备规则 与 产品规则(产品模型继承下来的命中)并存:

设备侧规则列表示例(与网关设备、子设备详情同一套):

4.4 规则引擎列表(通用)
路径:规则引擎 → 规则列表。
这里管的是通用规则(如数据转发),与产品/设备告警页的规则列表隔离。可新建规则、进设计器、看执行详情、启停。

执行详情(无上报或未配置触发时可能为空):

规则画布与节点库(触发 / 逻辑 / 演算 / 通知等,告警页常用组件也在此):

4.5 权限与模块开关
- 需具备规则引擎相关权限;模型「告警规则」Tab 依赖对应菜单权限。
- 规则引擎模块关闭时,产品/设备告警页无法配置。
- 告警模块关闭时,设备侧告警中心不可用。
5、边界与注意点
| 边界 | 说明 |
|---|---|
| 对象锁定 | 从模型/设备告警入口进入时,触发对象已锁定:可改监听参数,不可切换或删除对象 |
| 生效前提 | 须保存并发布;草稿不对真实上报按正式规则命中 |
| 列表隔离 | 告警入口创建的规则不进通用「规则引擎」列表 |
| 条件出口 | 报警一般接在条件的满足出口 |
| 通知正文 | 通知接在报警后时,正文只读,请回报警节点修改 |
| 全员广播 | 仅当前租户已启用用户,不按项目、不广播全平台 |
| 渠道 | 外部渠道需先在通知模块配置启用 |
| 与边缘 | 平台规则不替代设备本地实时保护 |
6、怎么配置一条规则
- 进入产品模型「告警规则」或设备「告警规则」→ 添加规则 → 创建并配置。
- 系统预置:
产品/设备触发 → 条件判断 → 报警。 - 打开触发节点:勾选要监听的物模型属性/事件。
- 打开条件判断:加条件;复杂阈值用公式编辑器(可校验、试运行)。
- 打开报警:选模板或自定义标题/正文。
- (可选)接通知;再按需加时间条件、HTTP/MQTT 转发。
- 保存 → 发布;用执行记录、告警日志核对。
7、规则组件说明
以下组件在产品模型告警、设备告警与通用规则画布中通用(告警入口会锁定触发源)。
7.1 产品触发
监听该产品下设备的物模型上报;告警入口会锁定当前产品。

- 可配置监听参数(属性/事件),不可换产品。
- 设备级对应 设备触发,界面同类,对象为本机。
7.2 条件判断与公式编辑


- 支持比较与公式;快捷符号与
IF/AND/OR;可校验、运行。 - 示例:
产品触发-电流 > 11;(内存使用量 / 内存总量 * 100) >= 75。 - 报警链路接 满足 出口。
7.3 报警
写入告警记录:可选模板或自定义变量标题/正文。

7.4 通知
接在报警之后时,正文跟上游报警;配置通知对象(通知组 / 指定用户 / 角色 / 部门 / 全员广播)与渠道。

7.5 HTTP 转发

请求地址、方法、头、体模板(可用 {{deviceId}}、{{message}})、超时与并发等。
7.6 MQTT 转发

Broker、Topic、QoS、版本、鉴权与 Retain 等。
7.7 时间条件

| 模式 | 含义 |
|---|---|
| 延迟触发 | 上游到达后延时再执行 |
| 持续时长 | 持续满足一段时间才继续 |
| 持续增长 | 窗口内字段增长量达阈值 |
| 区间模式 | 仅在配置的小时/日/周/月区间内生效 |
7.8 其他组件(多在通用画布)
定时触发、手动触发、脚本变换、设备控制、消息队列(RabbitMQ / Kafka / RocketMQ)、结束等,按需从节点库拖入。
8、发布后如何核对
8.1 执行记录
打开规则的「执行记录」:按设备 / Trace 查看每步节点是否成功。
通知可能因「与已有活跃告警合并」显示跳过(防重复刷屏),属正常现象。

8.2 告警日志
规则行上的「告警日志」含:
- 告警触发记录:真实命中与处理(确认 / 恢复 / 关闭);来源常标「产品挂载」。
- 画布试运行:调试用;设备真实上报不会写进试运行表,请看触发记录。


8.3 设备侧告警记录
到设备「告警记录」看本机结果,并用「规则来源」区分产品规则与设备规则。
下一步
- 设备接入与点位准备:MQTT 网关设备接入
- 平台能力中的规则与告警:平台功能特性