告警與事件生命週期
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 觸發動作。告警標識不應包含目前溫度或時間戳,以免每次觀測都變成新事件。
可以按來源、型別、等級、狀態及時間範圍篩選事件,檢視發生次數、恢復時間和解決說明。人工解決使用事件的最新版本號,避免多人操作相互覆蓋。裝置或規則正式停用時,管理員可註明原因後退役對應事件。