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

2023-11-07

一、 背景

自“双碳”政策提出以来,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、告警与恢复告警规则设置值介绍

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

  • 该目标采集点的唯一 id

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

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

  • 告警等级

  • 告警取值范围

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

  • 告警窗口大小

  • 恢复告警窗口大小

  • 告警重复发送的时间

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

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

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

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

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

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

  • 告警数据

三、 规则原理及流程说明

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

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

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

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

  • 分区流程过滤掉没被监控的数据,并按照时间窗口的大小将数据进行分区(图内标题 4、14,4 为告警流程,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、重复发送告警等级设置说明

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

四、总结

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

告警与恢复告警原理及实现 的相关文章

  • 仓库运行状况如何得知?数据挖掘是关键!

    库存 订单 出入库记录 物流信息 货物状态等数据 是仓库管理的重要组成部分 仓库数据的重要性 做好仓库数据管理对企业的重要性不言而喻 通过有效地管理数据 企业可以更好地了解市场需求和库存情况 快速响应市场变化 提高库存周转率和客户满意度 此
  • 阿里云centos7.9安装docker,创建nginx容器,启动vue3项目

    1 安装必要的依赖包 sudo yum install y yum utils device mapper persistent data lvm2 2 添加Docker存储库 sudo yum config manager add rep
  • 实现快速排序(数据结构与算法 - 排序)

    通过补全快速排序私有函数QSort 来供函数QuickSort调用 以此来实现快速排序的功能 相关知识 快速排序的基本过程是 从待排序记录中任选一个记录 以它的排序码作为中心值 将其它记录划分为两个部分 第一部分包含所有排序码小于等于中心值
  • 【TensorFlow】tf.reset_default_graph()函数

    如下是官网对tf reset default graph 函数描述的翻译 tf reset default graph函数用于清除默认图形堆栈并重置全局默认图形 注意 默认图形是当前线程的一个属性 该tf reset default gra
  • postman的参数是图片和文件如何设置,及操作提示this file is not in your working directory

    1 图片或者文件 作为参数的设置 在参数这里 选择文件 选择需要作为参数的文件 2 提示this file is not in your working directory 提示这个文件不在你的工作路劲下 设置一下当前的工作路径即可
  • 用sql语句对数据库表中的数据进行增删改

    如何使用sql语句对mysql数据库中表的数据进行增删改 这里新创了一个school数据库 在下面创建一张名为student表 创建student表的sql语句代码如下 使用school数据库 use school 判断是否存在studen
  • 手把手教你用 NebulaGraph AI 全家桶跑图算法

    前段时间 NebulaGraph 3 5 0 发布 whitewum 吴老师建议我把前段时间 NebulaGraph 社区里开启的新项目 ng ai 公开给大家 所以 就有了这个系列文章 本文是该系列的开篇之作 ng ai 是什么 ng a
  • Java中Scanner类中next与nextLine的区别

    1 next的意思是接受文字 有效文字 next不接收空格回车以及Tab 当你输入空格回车Tab的时候接收就会终止 并不会存入到String 变量中去 特别的情况 当在输入的时候先输入了几个空格然后再输入String中内容得时候String
  • C++ 程序文档生成器介绍(doxygen)

    http ly4cn cnblogs com archive 2005 11 23 282637 html 程序文档 曾经是程序员的一个头痛问题 写一个程序文档 比较花时间 但不是很难 麻烦的是当程序修改后 程序文档也要跟着同步更新 否则文
  • Python 练习实例11:兔子的规律为数列1,1,2,3,5,8,13,21

    古典问题 有一对兔子 从出生后第3个月起每个月都生一对兔子 小兔子长到第三个月后每个月又生一对兔子 假如兔子都不死 问每个月的兔子总数为多少 程序分析 兔子的规律为数列1 1 2 3 5 8 13 21 程序代码 def f n if n
  • 傅里叶变换、短时傅里叶变换、小波变换

    顺序 傅里叶 gt 短时傅里叶变换 gt 小波变换的顺序 转载自形象易懂的傅里叶变换 短时傅里叶变换和小波变换本文作者按照傅里叶 短时傅里叶变换 小波变换的顺序 由浅到深的解释小波变换的缘由以及思路 https mp weixin qq c
  • VMware中安装Kali一步解决(7z格式)

    VMware中安装Kali一步解决 7z格式 首先搜索Kali 进入官网找到VMware版本 选择第一个就好了 进去之后 根据自己的电脑选择就好 有64位和32位 点击torrent会生成种子 下载好种子之后 使用迅雷下载就好了 下载完成之
  • 十一.linux多线程同步之互斥锁、信号量、条件量

    笔记 https note youdao com ynoteshare1 index html id 1b529d966d34b16f3bdd828be48364e4 type note 目录 一 线程同步之信号量 1 任务 用户从终端输入
  • leetcode链表之反转链表

    本文主要有三道题 都是关于反转链表的算法题 由浅入深 文章出现的代码都是python3 206 反转链表 题目 给你单链表的头节点 head 请你反转链表 并返回反转后的链表 示例1 输入 head 1 2 3 4 5 输出 5 4 3 2
  • 基于MATLAB GUI的数字滤波仿真平台设计

    基于MATLAB GUI的数字滤波仿真平台设计 一 平台介绍 二 设计原理 1 登陆系统设计原理 2 IIR数字滤波器设计 3 FIR数字滤波器设计 三 程序实现 1 用户登陆系统程序 2 IIR DF设计 3 FIR DF设计 4 FDA
  • Pyinstaller打包exe附带图片的方法

    2019 10 27更新 在最近的wordpress项目中学到了图片字节码可在文件中存在 于是我做了试验并成功了 就是代码里带一堆字节码 参考 https blog csdn net jss19940414 article details

随机推荐

  • vue 路由守卫

    vue router 提供的导航守卫主要用来通过或取消的方式来守卫导航 有多种机会植入路由导航的过程 主要分为全局导航 单个路由导航 组件导航 所谓路由导航我们可以这么理解 导航守卫就相当于保安的意思 你要进入这个房子 保安需要知道你是 t
  • Suse Linux 磁盘动态扩容

    1 背景 Suse Linux本身非常少见 在实际项目中用过最多的是CentOs和RedHat版本的Linux Linux各个发行版只是微小差异 命令基本上一样 有一个数仓的测试环境中 总磁盘大小为1T 根目录 挂载了300G 剩下的600
  • 【图论】【最短路】城市问题

    Description 设有n个城市 依次编号为0 1 2 n 1 n lt 100 另外有一个文件保存n个城市之间的距离 每座城市之间的距离都小于等于1000 当两城市之间的距离等于 1时 表示这两个城市没有直接连接 求指定城市k到每一个
  • 【Python VTK】之 TVTK安装

    前言 需安装完 VTK numpy traits mayavi pyqt4 才能使用 VTVK 下载 whl 时候 需注意 python的版本号 和 自身电脑的位数 1 下载 下载链接 凡凡的环境是 python 3 6 window 64
  • 《自动驾驶算法工程师课程》

    B站看到一个不错的教程 可以对这个领域有一个大致的了解 自动驾驶算法工程师课程 https www bilibili com video BV1dL411j7f6 自动驾驶技术算法 https www bilibili com video
  • Flink之水位线(Watermark)

    在流数据处理应用中 一个很重要 也很常见的操作就是窗口计算 所谓的 窗口 一般就是划定的一段时间范围 也就是 时间窗 对在这范围内的数据进行处理 就是所谓的窗口计算 所以窗口和时间往往是分不开的 接下来我们就深入了解一下 Flink 中的时
  • 20220129---CTF刷题---WEB--代码审计

    20220129 CTF刷题 WEB 代码审计 刷题网站 世界攻防 https adworld xctf org cn WEB方向 新手区第5题 一道简单的代码审计题 首先通过get方法传参 a要转化成数字是0 但是不能直接传0 否则 a就
  • Dynamics 365 UI Controls 用Calendar View来查看数据

    Dynamics 365 在升级到new UI之后 支持一种calendar 形式来查看view数据 今天我们来说一下怎么在一个特定的view上来实现用calendar查看 1 首先进入Customization页面 找到你想开启Calen
  • redis中api理解与使用(二)

    4 列表 list 列表类型是用来存储多个有序的字符串 可以重复 一个列表最多存储2 32 1个元素 redis中可以对列表两端插入和弹出 还可以获取指定范围的元素列表 获取指定索引下标的元素等 4 1 常用命令 操作类型 操作 添加 rp
  • android studio 将已有的项目 以module Library的 形式引入到 自己的项目中

    1 什么是Module Library android 将项目 分成 project 和 Module module 其实也是一个项目 他里面也有 res java AndroidManifiest等文件 其实也是一个可以独立运行的项目 只
  • samba搭建(基于centos7)

    samba 基础 组管理 文件权限管理 基本命令 安装及配置 samba linux连接 samba 配置详解 global 配置特定目录共享 shell 自动创建用户 基础 SMB Server Message Block 服务器消息块
  • [转]video视频解码硬解和软解的区别及如何选择

    如果你认为本系列文章对你有所帮助 请大家有钱的捧个钱场 点击此处赞助 赞助额0 1元起步 多少随意 声明 本文只用于个人学习交流 若不慎造成侵权 请及时联系我 立即予以改正 锋影 email 174176320 qq com 硬解 字面上理
  • 百度引流推广怎么做?个人如何做百度推广

    个人如何做百度推广 相对于中小型企业 个人或者微商朋友在网络推广预算比较紧张 做网络营销推广的预算不会太多 因此 更需要在有限的推广费用预算 做出更好的推广效果 无疑 精准引流成为了个人做百度推广的首选 一 什么是百度推广 百度推广可以简单
  • 只出现一次的数字(异或运算^)

    给定一个非空整数数组 除了某个元素只出现一次以外 其余每个元素均出现两次 找出那个只出现了一次的元素 说明 你的算法应该具有线性时间复杂度 你可以不使用额外空间来实现吗 示例 1 输入 2 2 1 输出 1 示例 2 输入 4 1 2 1
  • 践行社会责任的路上,中概股们看到了怎样的风景?

    谈起社会责任 你会想到什么 绿色经济 双碳 目标 共同富裕 乡村振兴 慈善活动 ESG 环境 社会和公司治理 这些名词肯定少不了 当下 全球企业正越发强调社会责任 这或许是商业发展到一定阶段的必然结果 但也离不开公司们对社会事业的特别关注
  • PHP异常处理中的finally

    0x01 异常处理 在做代码分析的时候发现了一个有意思的点 样例代码如下 我们知道finally会在return之前执行 那么上
  • Packing(石板切割问题)回溯算法

    一 问题描述 给定一个最大的总切割目标石块 再给定一系列我们需要的样板石块 寻找切割方法使得我们从目标石块上切割出的所需样板石块的面积和最大 即对目标石块的利用率最高 限制切割为一刀切 即一次切割必须把一块石板一分为二 不能只切一段 左边为
  • 方差公式【数论】

    对于今天打的一道题 非常有感想 然后花了很久很久打了这个函数超多的方差公式 哎 来吧来吧 推导 首先我们知道方差的公式是 K i
  • 架构--网络关键指标公式

    架构 网络关键指标公式 一 经典公式1 估算系统的平均并发用户数和并发用户数峰值 1 1 公式 1 1 1 平均并发用户数 C nL T 参数说明 C 平均并发用户数 通过计算出来的 参数说明 n login session的数量 也就是
  • 告警与恢复告警原理及实现

    一 背景 自 双碳 政策提出以来 KaiwuDB 聚焦 数字能源 领域 为用户打造数字能源管理平台 旨在提升综合能源和碳资产管理能力 数字能源管理平台是以 KaiwuDB 为核心建设的云 边 端一体化数据服务平台 致力于为 IoT 工业互联