告警与恢复告警原理及实现

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

一、 背景

自“双碳”政策提出以来KaiwuDB 聚焦“数字能源”领域为用户打造数字能源管理平台旨在提升综合能源和碳资产管理能力。

数字能源管理平台是以 KaiwuDB 为核心建设的云-边-端一体化数据服务平台致力于为 IoT、工业互联网、数字能源、交通车联网、等行业提供从数据产生、采集、汇聚到数据分析、应用、归档的全生命周期的数据服务。

数字能源是物联网技术与能源产业的深度融合通过能源设施的物联接入并依托大数据及人工智能打通物理世界与数字世界信息流与能量流互动实现能源品类的跨越和边界的突破放大设施效用品类协同优化。

二、 规则使用组件介绍

A、DAG 介绍

DAGDirected Acyclic Graph有向无环图是一种数据结构表示的是一张有向图并且在这个图中从任意顶点出发都无法回到该点无环如图所示

B、go-streams 简介

go-streams 是一个流式处理库它提供一种简单、简洁的方式构建数据处理的管道。

在计算中管道也称为数据管道是一组串联连接的数据处理元件其中一个元件的输出是下一个元件的输入。管道的元素通常以并行或时间切片的方式执行通常在元素之间插入一定量的缓冲存储器。

C、告警规则与恢复告警规则介绍

在当前的数字能源平台中可能会存在各种偶然情况所以我们在指定时间窗口内当异常数据个数达到总数据的指定百分比时才被判定为告警情况。

比如说用户设置 endpoint1 采集点设置异常数据占比总数量的 60% 时触发一级告警设置告警窗口为 5 秒。

假设在这 5 秒内 endpoint1 传过来的数据有 100 条此时当异常数据的数量达到或超过 100*60%=60 时触发一级告警如果异常数据的数量没有达到 100*60%=60 条则不触发一级告警。

这里的 60% 是人为设置的由用户来判断在一段时间窗口内异常数据达到总数据的百分比数从而来确定是否触发告警等级。

D、告警与恢复告警规则设置值介绍

用户定义对目标采集点的监控设置的值包含

  • 该目标采集点的唯一 id

  • 该目标采集点的告警规则列表也意味着同一个采集点可以有多个不同级别的告警

规则列表中单个规则包含的值有

  • 告警等级

  • 告警取值范围

  • 告警数据数量占比的百分数

  • 告警窗口大小

  • 恢复告警窗口大小

  • 告警重复发送的时间

E、告警与恢复告警规则返回值参数介绍

若触发告警与恢复告警规则用户和管理人员拿到的告警信息包含的值为

  • 触发告警与恢复告警规则的目标采集点唯一 id

  • 该目标采集点触发或恢复到的告警等级

  • 告警类型告警、恢复告警、重复告警

  • 触发该次告警或恢复告警的时间

  • 告警数据

三、 规则原理及流程说明

A、告警与恢复告警规则流程说明

  • 数字能源平台从 Kafka source 中获取批次的所有数据信息图内标题 1

  • 数字能源平台将所有数据信息分成单点数据图内标题 2

  • 将单点数据同时全部发给分区流程图内标题 3

  • 分区流程过滤掉没被监控的数据并按照时间窗口的大小将数据进行分区图内标题 4、144 为告警流程14 为恢复告警流程

  • 按照分区流程的时间窗口创建时间窗口图内标题 5、8、11、15、18、21

  • 在时间窗口内将满足告警条件数据进行包装图内标题 6、9、12、16、19、22

  • 将包装起来的数据设置为告警流程发过来的数据或恢复告警流程发过来的数据图内标题 7、10、13 为告警流程发过来的数据17、20、23 为恢复告警流程发过来的数据

  • 将所有包装好的数据发送到同一流程节点图内标题 24

  • 判断告警等级流程将传过来的数据判断每个采集点当前的告警等级图内标题 25

  • 将每个采集点对应的告警等级信息包装成返回值的格式图内标题 26

  • 将包装好的数据发给数据目标图内标题 27

B、告警等级设置说明

每一个被检测的采集点都会设置一个或多个告警等级比如我们在 endpoint1 采集点上设置正常情况、1 级告警、2 级告警、3 级告警、4 级告警、5 级告警数字越大代表越严重。

通常情况下我们对每一个采集点都通过维护一个栈来保存这个采集点的告警信息这个采集点当前的告警等级即是栈顶保存的告警等级。若当前告警等级大于栈顶元素则该告警等级进栈代表当前告警等级提高若当前告警等级小于等于栈顶元素则不做任何处理。

C、恢复告警等级设置说明

我们对当前恢复告警等级对栈内元素进行比较从栈顶开始若栈顶元素大于当前恢复告警等级则栈顶元素出栈继续比较新栈顶元素与当前恢复告警等级直至栈顶元素小于等于当前告警等级。

若在比较的过程中已有栈顶元素被弹出新栈顶元素小于当前恢复告警等级则将当前恢复告警等级进栈并发送一条设置告警的记录。

若在比较的过程中没有栈顶元素被弹出最开始的栈顶元素小于当前恢复告警等级则不作处理。

D、重复发送告警等级设置说明

当一个采集点的告警等级栈长时间没有更改也就是没有进栈操作也没有出栈操作将对用户重新发送一个当前栈顶元素的告警信息。意为长时间没有对当前告警做出处理重复提醒。

四、总结

通过告警规则及恢复告警规则可以减少人力监控也是自动化运维的一种手段。对于数字能源平台来说一个采集点出现的问题首先平台要第一时间知晓而不是等待用户反馈。通过告警规则与恢复告警规则也大幅减少了运维人员去查看日志的时间。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6