问题描述
- 设备上传了告警信息后,当低于阈值时自动解除告警,都作为事件上传上来。

- 告警的消息
{
"事件类别": "1-报警",
"事件类型": "3501-电流高报警",
"模拟量列表_数目": 1,
"模拟量列表": [
{
"类型": "23-相电流",
"值": 4021,
"精度": "2-0.01",
"单位": "12-A(安培)",
"扩展属性对象_长度": 0
}
]
}
- 解除告警的消息
{
"事件类别": "1-报警",
"事件类型": "3502-电流高报警_恢复",
"模拟量列表_数目": 1,
"模拟量列表": [
{
"类型": "23-相电流",
"值": 3124,
"精度": "2-0.01",
"单位": "12-A(安培)",
"扩展属性对象_长度": 0
}
]
}
解决办法
- 在规则链中,以后缀是否为"_解除"来判断时新增告警还是解除告警。同时,由于两者的事件编号不一样,所以把编号也去掉。

2. 节点:去除事件编码
var str = msg.事件类型;
var index = str.indexOf('-');
msg.事件类型 = index !== -1 ? str.slice(index + 1) : str;
return {msg: msg, metadata: metadata, msgType: msgType};
- 节点:是否清除告警
return msg.事件类型.endsWith('_恢复');
- 创建报警和清除报警两个节点中,告警类型都设置为
$[事件类型],这样就可以清除同一设备的相同告警类型的告警。

676

被折叠的 条评论
为什么被折叠?



