告警与事件生命周期
Edge-EMS Builder 同时支持逐条告警记录和带恢复流程的告警事件。新建持续监测规则时,可以用告警事件跟踪“异常发生、恢复、人工解决”的全过程。
两种告警方式
Section titled “两种告警方式”| 方式 | 适合用途 | 行为 |
|---|---|---|
| 告警记录 | 简单通知、保留每次触发结果 | 每次动作生成独立记录,可标记处理 |
| 告警事件 | 持续故障监测与处理跟踪 | 同一来源和告警标识合并,记录发生次数及状态变化 |
旧脚本可以继续使用,已有告警记录不会自动变成告警事件。
异常中(ACTIVE) → 已恢复(RECOVERED) → 已解决(RESOLVED)
- 重复异常合并到同一未解决事件,保留首次和最近发生时间。
- 正常观测使事件进入“已恢复”,由操作员或管理员确认解决。
- 恢复后再次异常,会重新激活该事件;已解决后再次异常,则建立新事件。
- 设备离线或数据无效属于“未知”,不会被误判成恢复。
配置观测动作
Section titled “配置观测动作”告警使用稳定的 sourceCode + alarmKey 识别。规则应持续报告异常、正常或未知状态,不能只在异常时执行,否则系统无法知道何时恢复。
下面使用通用点位 demo_temperature,使用前替换为实际点位,并配置适当的监测周期:
local value = tonumber(${demo_temperature})local state = "UNKNOWN"if value then if value > 80 then state = "ACTIVE" else state = "NORMAL" endendreturn {buildAlarmObservationMap("demo_monitor", "demo_temperature_high", state, "高温", "1", "温度状态:" .. tostring(value))}该脚本用于 EXPRESSION 触发动作。告警标识不应包含当前温度或时间戳,以免每次观测都变成新事件。
可以按来源、类型、等级、状态及时间范围筛选事件,查看发生次数、恢复时间和解决说明。人工解决使用事件的最新版本号,避免多人操作相互覆盖。设备或规则正式停用时,管理员可注明原因后退役对应事件。