规则引擎
规则引擎
概述
规则引擎通过配置规则,对设备数据流和事件进行实时处理或定时分析,实现异常检测,设备联动,数据处理等功能
规则
规则主要包含了如下定义
- 资源: 这条规则应用的账号,产品,设备以及属性等
- 触发类型: 即触发规则的数据类型
- 通知对象: 即规则触发后需要通知的对象和详细信息
关联资源
所属企业号
,必须产品
,必须设备
,不指定则为应用到该产品下所有设备属性/事件
,不指定则为应用到该设备下所有属性或事件
规则触发类型
事件触发
设备上报指定类型的事件时触发
- 事件名称
- 事件数据值,不指定则只要有这个事件就触发
属性阈值触发
设备上报的属性值超过指定的阈值时触发
- 属性名称
- 属性阈值等级,必须指定
属性改变触发
设备上报指定属性值发生改变时触发
- 属性名称
- 最小改变值,不指定则只要有任何改变即触发
通知对象
表示规则触发后要通知的对象
- 用户组, 通知消息会通过用户相关的联系方式发送给用户
- 设备,需要指定需要联动的方法以及参数
阈值
阈值主要用于规则触发检测用,可以用来配置设备属性不同的异常等级。
阈值配置通常包括了:
- 等级
- 统计周期
- 统计方法
概述
每个产品的每个属性都可以设置不同等级的阈值
只有上限指标,如 PM2.5 浓度
- 0: - 无
- 1 - 优: <= 50
- 2 - 良: <= 100
- 3 - 轻度污染: > 100
- 4 - 中度污染: > 150
- 5 - 重度污染: > 200
- 6 - 严重污染: > 300
有上限和下限的指标,如 温度
- -6 - 极寒: < -40
- -5 - 酷寒: < -30
- -4 - 严寒: < -20
- -3 - 寒: < 0
- -2 - 凉: >= 0
- -1 - 温凉: >= 14
- 0 - 温和
- 1 - 温暖: <= 20
- 2 - 暖: <= 22
- 3 - 热: > 22
- 4 - 炎热: > 25
- 5 - 酷热: > 30
- 6 - 极热: > 40
报警级别
平台将数值类指标分为正负 1 到 6 的等级,分别代表:优,正常,轻度,中度,重度,严重
可以设置的阈值有 -5,-4, -3, -2, -1, 1, 2, 3, 4, 5
- 如果没有设置 -1, 则正常范围为
0
到阈值[1]
- 如果有设置 -1, 则正常范围为
阈值[-1]
到阈值[1]
- 上限
- 严重:
> 阈值[5]
- 重度:
阈值[4] < Value <= 阈值[5]
- 中度:
阈值[3] < Value <= 阈值[4]
- 轻度:
阈值[2] < Value <= 阈值[3]
- 正常:
阈值[1] < Value <= 阈值[2]
- 最优:
0 < Value <= 阈值[1]
- 严重:
- 下限
- 严重:
< 阈值[-5]
- 重度:
阈值[-4] > Value >= 阈值[-5]
- 中度:
阈值[-3] > Value >= 阈值[-4]
- 轻度:
阈值[-2] > Value >= 阈值[-3]
- 正常:
阈值[-1] > Value >= 阈值[-2]
- 最优:
阈值[1] >= Value >= 阈值[-1]
- 严重:
检测周期
- 周期时间: 需要用于检测的数据的时间范围
- 选择方法: 对要检测的数据的统计算法
- 总是
- 平均值
- 只要有一个值
阈值设置
可以分别对产品和设备设置阈值
产品阈值设置
该产品所有设备如果没有特别指定的话,则都使用产品设备的阈值
设备阈值设置
用户可以对每个设备的每个属性设置单独的阈值,因为现实中不同的设备的负载可能是不一样的,设置不同的阈值很有必要。
报警
检测到告警时,记录告警历史日志
- 在沉默周期内只产生一条报警记录
- 当报警状态改变时产生新的报警记录
- 正常
- 预警
- 报警
报警属性
报警通常需要包含如下的属性
状态
预警
正常
报警
报警级别
- 优,良,轻度,中度,重度,严重
发生时间
发生地点
发生设备
- 产品名
- 设备名
- 设备 ID
发生属性
- 属性名
- 属性标题
- 属性值
事件名称
- 阈值超限,状态改变,事件
详细内容
- 设定的阈值
通知
通知时机
只有报警类型为报警
时才发送通知
通知沉默期
,为了防止频繁通知,在沉默期内不再重复发送通知消息沉默周期
,可以指定发送通知后指定周期时间为沉默期沉默时间段
,可以指定一天内某个时间段为沉默期
通知方式
通知方式
邮件
- 用户需绑定邮箱地址微信
- 用户需关注并绑定微信公众号短信
- 用户需绑定手机号码
通知内容
通知类型
- alert消息主题
- 发送的通知消息的标题通知内容
同告警历史日志- 发生
时间
- 发生
地点
- 发生
设备
- 发生的
事件
内容
- 发生
报警通知消息
您好,有新的报警信息提醒,请及时处理
20/01/19
时间:15:05
位置:技术中心-水泵房
设备:智能电表-水泵电表1#
内容:A相电压最近平均值211V, 阈值设定上限值210V
预警通知消息:
您好,有新的预警信息提醒,请及时跟进
20/01/19
时间:15:05
位置:技术中心-水泵房
设备:智能电表-水泵电表1#
内容:A相电压最近平均值209V, 阈值设定上限值201V
通知确认
- 报警通知需要有用户确认
- 用户确认后将转为工单
- 用户确认后去现场处理并反馈处理结果
- 班长可以人为指派指定人来处理
事件回调
可以调用指定的方法
Webhook
发送通知时,同时调用指定的 HTTP URL 地址函数
发送通知时,同时调用指定的函数
报警管理
统计指标
- 安全运行天数
- 所有设备连续未出现设备故障的情况。
- 自然日叠加,一个自然日内不满24小时的不进行叠加。
- 所统计的设备中有一个设备出现设备故障,此数据天数清零,重新计算。
- 新增报警数
- 天/周/月
- 当天/周/月新增报警数
- 含已解决及未解决
- 状态开启个数
- 查询时,状态为开启的数量
- 各时段开启平均次数
- 间隔为小时
- 各时段平均数值
- 间隔为小时
- 状态开启次数排名
- 峰值排名
- 设备在线率
- 离线率排名
- 电量占比
- 报警类型占比
- 数值范围占比