一、 背景
自“双碳”政策提出以来,KaiwuDB 聚焦“数字能源”领域,为用户打造数字能源管理平台,旨在提升综合能源和碳资产管理能力。
数字能源管理平台是以 KaiwuDB 为核心建设的云-边-端一体化数据服务平台,致力于为 IoT、工业互联网、数字能源、交通车联网、等行业提供从数据产生、采集、汇聚到数据分析、应用、归档的全生命周期的数据服务。
数字能源是物联网技术与能源产业的深度融合,通过能源设施的物联接入,并依托大数据及人工智能,打通物理世界与数字世界,信息流与能量流互动,实现能源品类的跨越和边界的突破,放大设施效用,品类协同优化。
二、 规则使用组件介绍
A、DAG 介绍
DAG(Directed Acyclic Graph,有向无环图)是一种数据结构,表示的是一张有向图,并且在这个图中,从任意顶点出发都无法回到该点(无环),如图所示:
B、go-streams 简介
go-streams 是一个流式处理库,它提供一种简单、简洁的方式构建数据处理的管道。
在计算中,管道也称为数据管道,是一组串联连接的数据处理元件,其中一个元件的输出是下一个元件的输入。管道的元素通常以并行或时间切片的方式执行,通常在元素之间插入一定量的缓冲存储器。
C、告警规则与恢复告警规则介绍
在当前的数字能源平台中,可能会存在各种偶然情况,所以我们在指定时间窗口内,当异常数据个数达到总数据的指定百分比时才被判定为告警情况。
比如说,用户设置 endpoint1 采集点,设置异常数据占比总数量的 60% 时触发一级告警,设置告警窗口为 5 秒。
假设在这 5 秒内 endpoint1 传过来的数据有 100 条,此时当异常数据的数量达到或超过 100*60%=60 时,触发一级告警;如果异常数据的数量没有达到 100*60%=60 条,则不触发一级告警。
这里的 60% 是人为设置的,由用户来判断在一段时间窗口内,异常数据达到总数据的百分比数,从而来确定是否触发告警等级。
D、告警与恢复告警规则设置值介绍
用户定义对目标采集点的监控,设置的值包含:
规则列表中单个规则包含的值有:
E、告警与恢复告警规则返回值参数介绍
若触发告警与恢复告警规则,用户和管理人员拿到的告警信息,包含的值为:
三、 规则原理及流程说明
A、告警与恢复告警规则流程说明
B、告警等级设置说明
每一个被检测的采集点都会设置一个或多个告警等级,比如我们在 endpoint1 采集点上设置正常情况、1 级告警、2 级告警、3 级告警、4 级告警、5 级告警,数字越大代表越严重。
通常情况下,我们对每一个采集点都通过维护一个栈来保存这个采集点的告警信息,这个采集点当前的告警等级,即是栈顶保存的告警等级。若当前告警等级大于栈顶元素,则该告警等级进栈,代表当前告警等级提高;若当前告警等级小于等于栈顶元素,则不做任何处理。
C、恢复告警等级设置说明
我们对当前恢复告警等级对栈内元素进行比较,从栈顶开始,若栈顶元素大于当前恢复告警等级,则栈顶元素出栈,继续比较新栈顶元素与当前恢复告警等级,直至栈顶元素小于等于当前告警等级。
若在比较的过程中,已有栈顶元素被弹出,新栈顶元素小于当前恢复告警等级,则将当前恢复告警等级进栈,并发送一条设置告警的记录。
若在比较的过程中,没有栈顶元素被弹出,最开始的栈顶元素小于当前恢复告警等级,则不作处理。
D、重复发送告警等级设置说明
当一个采集点的告警等级栈长时间没有更改,也就是没有进栈操作也没有出栈操作,将对用户重新发送一个当前栈顶元素的告警信息。意为长时间没有对当前告警做出处理,重复提醒。
四、总结
通过告警规则及恢复告警规则,可以减少人力监控,也是自动化运维的一种手段。对于数字能源平台来说,一个采集点出现的问题,首先平台要第一时间知晓而不是等待用户反馈。通过告警规则与恢复告警规则,也大幅减少了运维人员去查看日志的时间。