根据消息发起者设备Profile中定义的 告警规则 创建、更新和清除告警。
配置
- Persist state of alarm rules(持久化告警规则状态):启用时,将告警规则状态存储到数据库。
- Fetch state of alarm rules(获取告警规则状态):控制何时从数据库加载告警规则状态。
- Enabled(启用):节点启动时预加载告警规则状态。
- Disabled(禁用):收到设备首条消息时按需加载告警规则状态。
Persist state of alarm rules配置说明
此选项解决服务器重启后告警规则评估的连续性。默认情况下,节点在内存中跟踪告警规则状态,重启时丢失。
告警规则需要随时间进行有状态评估:
- Duration conditions(持续时间条件):“温度超过100°C持续10分钟”— 需跟踪条件为真的持续时间
- Repeating conditions(重复条件):“温度连续五次超过100°C”— 需计数连续发生次数
若服务器在评估过程中重启(例如10分钟持续的第7分钟,或5次重复中的第3次),跟踪状态会丢失,告警评估从零重新开始。
为解决此问题,Persist state of alarm rules 配置选项允许将告警规则状态持久化到数据库,而非仅在内存中保存,确保重启后评估的连续性。
JSON Schema
消息处理算法
- 加载设备Profile:获取与消息发起者关联的设备Profile。
- 提取告警规则:获取设备Profile中配置的所有告警规则。
- 规则评估:针对传入消息评估发起者设备配置的告警规则。
- 告警处理:根据评估结果创建、更新或清除告警。
- 生成告警消息:根据评估结果生成新告警消息。生成消息的数据表示告警更改(创建、更新或清除)应用后的告警。
- 状态持久化:若 Persist state of alarm rules 已启用且消息至少匹配一条告警条件,将当前处理状态持久化到数据库。
- 路由消息:将原始消息无修改地路由至
Success。
输出连接
Success- 消息已成功处理且告警规则已评估
- 原始消息无修改地路由至此
Alarm Created- 告警创建相关的生成消息路由至此
Alarm Updated- 告警更新相关的生成消息路由至此
Alarm Severity Updated- 告警严重性更新相关的生成消息路由至此
Alarm Cleared- 告警清除相关的生成消息路由至此
Failure- 告警规则评估或处理过程中发生意外错误