CN115913886A - 一种云原生环境下基于滑动窗口的告警方法及系统 - Google Patents

一种云原生环境下基于滑动窗口的告警方法及系统 Download PDF

Info

Publication number
CN115913886A
CN115913886A CN202211425290.5A CN202211425290A CN115913886A CN 115913886 A CN115913886 A CN 115913886A CN 202211425290 A CN202211425290 A CN 202211425290A CN 115913886 A CN115913886 A CN 115913886A
Authority
CN
China
Prior art keywords
alarm
sliding window
index
data
module
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202211425290.5A
Other languages
English (en)
Inventor
崔炜炜
颜亮
高传集
张建伟
宋喆
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Inspur Cloud Information Technology Co Ltd
Original Assignee
Inspur Cloud Information Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Inspur Cloud Information Technology Co Ltd filed Critical Inspur Cloud Information Technology Co Ltd
Priority to CN202211425290.5A priority Critical patent/CN115913886A/zh
Publication of CN115913886A publication Critical patent/CN115913886A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Alarm Systems (AREA)

Abstract

本发明涉及监控告警技术领域,具体为一种云原生环境下基于滑动窗口的告警方法包括以下步骤:根据需求创建所需的告警规则;根据告警规则创建对应的滑动窗口;接收监控指标数据;根据告警规则统计周期的单位,对指标数据进行聚合;滑动窗口滑动并计算告警;将告警信息发送到下游系统中,进行后续的处理;有益效果为:本发明提出的云原生环境下基于滑动窗口的告警方法及系统基于滑动窗口实时对监控数据进行分析,能够消除数据丢失或脏数据等异常对告警准确性的影响。无需依赖任何第三方中间件或数据库即可实现告警功能。

Description

一种云原生环境下基于滑动窗口的告警方法及系统
技术领域
本发明涉及监控告警技术领域,具体为一种云原生环境下基于滑动窗口的告警方法及系统。
背景技术
云原生环境下,业务应用多以微服务架构部署,应用之间调用链错综复杂,同时每个应用又依赖很多外部中间件,任何一处出现故障都可能会导致级联故障,牵一发而动全身。
现有技术中,监控与告警就成了云原生环境下不可缺失的一部分。一个可靠的、实时的监控告警系统可以及时发现环境问题并通知相关运维及研发人员,更好地规避潜在的问题。
但是,传统的运维监控告警系统存在着告警准确率低、告警不及时、依赖第三方中间件、通用性不高等问题。
发明内容
本发明的目的在于提供一种云原生环境下基于滑动窗口的告警方法及系统,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:一种云原生环境下基于滑动窗口的告警方法,该告警方法包括以下步骤:
根据需求创建所需的告警规则;
根据告警规则创建对应的滑动窗口;
接收监控指标数据;
根据告警规则统计周期的单位,对指标数据进行聚合;
滑动窗口滑动并计算告警;
将告警信息发送到下游系统中,进行后续的处理。
优选的,告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段;告警规则通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则。
优选的,滑动窗口创建后,建立指标名到滑动窗口的索引,维护这个索引关系,每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发。
优选的,从建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警;接收的指标数据聚合后其时间在滑动窗口之外,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理。
优选的,计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警。
一种所述的云原生环境下基于滑动窗口的告警系统,该系统由告警规则创建模块、滑动窗口创建模块、接收模块、处理模块、计算告警模块以及告警模块构成;
告警规则创建模块,用于根据需求创建所需的告警规则;
滑动窗口创建模块,用于根据告警规则创建对应的滑动窗口;
接收模块,用于接收监控指标数据;
处理模块,用于根据告警规则统计周期的单位,对指标数据进行聚合;
计算告警模块,用于滑动窗口滑动并计算告警;
告警模块,用于将告警信息发送到下游系统中,进行后续的处理。
优选的,所述告警规则创建模块中,告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段;告警规则通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则。
优选的,所述滑动窗口创建模块中,滑动窗口创建后,建立指标名到滑动窗口的索引,维护这个索引关系,每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发。
优选的,所述处理模块中,从建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警;接收的指标数据聚合后其时间在滑动窗口之外,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理。
优选的,所述计算告警模块中,计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警。
与现有技术相比,本发明的有益效果是:
本发明提出的云原生环境下基于滑动窗口的告警方法及系统基于滑动窗口实时对监控数据进行分析,能够消除数据丢失或脏数据等异常对告警准确性的影响。无需依赖任何第三方中间件或数据库即可实现告警功能;可以灵活部署,既可以部署在探针端,在监控数据产生的同时实时进行分析处理并产生告警,给研发和运维人员带来了很大的便利。
附图说明
图1为本发明系统框图。
具体实施方式
为了使本发明的目的、技术方案进行清楚、完整地描述,及优点更加清楚明白,以下结合附图对本发明实施例进行进一步详细说明。应当理解,此处所描述的具体实施例是本发明一部分实施例,而不是全部的实施例,仅仅用以解释本发明实施例,并不用于限定本发明实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
实施例一
本发明提供一种技术方案:一种云原生环境下基于滑动窗口的告警方法,该告警方法包括以下步骤:
步骤一:根据需求创建所需的告警规则,告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段,上述字段具有通用性,是计算并触发告警所需的。
告警规则可以通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则,这种方式实现简单,但缺少灵活性,添加告警规则时只能修改配置文件并重启系统,会影响业务运行。也可以通过配置中心或API等方式在系统运行期间动态创建,具有很高的灵活性,在不中断业务的情况下随时添加告警。
步骤二:根据告警规则创建对应的滑动窗口,然后建立指标名到滑动窗口的索引,维护这个索引关系。每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发。
一般情况下,一个指标名可能有多个告警规则。其中,为了避免数据量大时内存溢出,滑动窗口内只维持当前告警统计周期内的数据,过旧的数据随着窗口的滑动会被丢弃,指标数据是聚合后保存在滑动窗口中的。聚合时可以根据实际场景选择合适的聚合函数,比如求平均值、求最大值等。
滑动窗口的长度取决于告警规则的统计周期,滑动窗口的每个位置存储一个聚合后的数据点,滑动窗口的每个位置会映射到统计周期中每个时间点上。
最简单的,为了方便在滑动窗口中添加和移除数据点,滑动窗口可以使用一个固定长度的双端队列来实现,当有新的聚合后的数据点产生时,将其插入到双端队列的尾部。同时,由定时器控制滑动窗口根据时间滑动时,及时清理统计周期之外的数据点,将其从双端队列头部清除。
由于滑动窗口需要频繁地从尾部插入、从头部删除,为了提高性能,避免大量地移动元素,可以选用基于节点加指针实现的双端队列,也可以选择基于循环数组实现的双端队列,其各有优点,可以根据实际场景选择。
步骤三:接收监控指标数据。在监控告警系统中,通常都有探针或采集器,其功能是采集待检测系统中所需的监控指标,以供后续系统进行分析处理。本发明可以在单独的指标接收分析模块中接收探针端发送的指标数据,也可以直接集成到探针端,在探针端采集指标数据的同时直接对其进行处理。
步骤四:处理监控指标数据。根据告警规则统计周期的单位,对指标数据进行聚合,聚合时可以根据告警规则的不同,选择平均值、最大值、最小值等策略聚合。
然后根据监控数据的指标名,从步骤二中建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警。
如果接收的指标数据聚合后其时间在滑动窗口之外,则可能是网络异常或时钟不同步等原因,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理。
步骤五:滑动窗口滑动并计算告警。告警规则统计周期的单位决定滑动窗口的滑动时机,假设统计周期为5分钟,那么滑动窗口的长度为5,维持着5个聚合后的数据点,滑动窗口每分钟滑动一步,并计算窗口内的数据是否触发了告警。
由定时器控制滑动窗口的滑动,定时器的执行周期应该小于滑动窗口的步长,比如上述滑动窗口每分钟滑动一步,那么定时器的执行周期可以设置为20秒。定时器每次执行时,判断当前实际时间否是该分钟的前20秒,如果是前二十秒的话,很可能滑动窗口的尾部还未添加聚合后的数据点,直接退出,否则才去计算告警。这样可以避免丢失当前时间点对应数据点,增加告警的准确性。
计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警。也可以创建联合告警,同时计算多个滑动窗口内的监控指标数据来判断是否触发联合告警。
在某个时间点触发告警后,滑动窗口下一次滑动时,只会移除窗口内最早的那个数据点,如果之前的告警是滑动窗口尾部的几个数据点触发的,那么会连续多次触发告警,一般情况,每个数据点只被期望参与一次告警触发。为了避免这种情况,可以给每个滑动窗口设置一个静默计数器,将其初始化为滑动窗口的长度。滑动窗口每次滑动时,若没有触发告警,则将静默计数器减一;若触发了告警,则判断静默计数器是否小于0,小于0时才真正触发告警并将静默计数器重置为窗口大小,大于0则忽略此次告警。
步骤六:发送告警。触发告警后,该系统可将告警信息发送到下游系统中,进行后续的处理,比如通过邮箱、短信、Webhook等方式通知相关人员。由于该系统可以直接集成到探针端,监控指标无需通过HTTP或GPRC传输到传统的接收分析平台,可以在监控指标生命周期最早期就直接生成告警,实时性更高,能更早地发现异常。
综上所述,本发明的云原生环境下的基于滑动窗口的告警方案,不依赖于其他中间件或数据库,在内存中实时分析处理并产生告警,具有很大的灵活性,可以非常方便的集成到各种系统中。同时会对接收的监控指标进行聚合操作,有效的避免了内存溢出的风险。计算告警时是对滑动窗口内的多个数据点处理,可以消除个别异常数据点对告警准确性的影响,大大提高了告警准确性。
实施例二
一种云原生环境下基于滑动窗口的告警系统,该系统由告警规则创建模块、滑动窗口创建模块、接收模块、处理模块、计算告警模块以及告警模块构成;
告警规则创建模块,用于根据需求创建所需的告警规则;告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段;告警规则通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则;
滑动窗口创建模块,用于根据告警规则创建对应的滑动窗口;滑动窗口创建后,建立指标名到滑动窗口的索引,维护这个索引关系,每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发;
接收模块,用于接收监控指标数据;
处理模块,用于根据告警规则统计周期的单位,对指标数据进行聚合;从建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警;接收的指标数据聚合后其时间在滑动窗口之外,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理;
计算告警模块,用于滑动窗口滑动并计算告警;计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警
告警模块,用于将告警信息发送到下游系统中,进行后续的处理。
尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

Claims (10)

1.一种云原生环境下基于滑动窗口的告警方法,其特征在于:该告警方法包括以下步骤:
根据需求创建所需的告警规则;
根据告警规则创建对应的滑动窗口;
接收监控指标数据;
根据告警规则统计周期的单位,对指标数据进行聚合;
滑动窗口滑动并计算告警;
将告警信息发送到下游系统中,进行后续的处理。
2.根据权利要求1所述的一种云原生环境下基于滑动窗口的告警方法,其特征在于:告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段;告警规则通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则。
3.根据权利要求1所述的一种云原生环境下基于滑动窗口的告警方法,其特征在于:滑动窗口创建后,建立指标名到滑动窗口的索引,维护这个索引关系,每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发。
4.根据权利要求3所述的一种云原生环境下基于滑动窗口的告警方法,其特征在于:从建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警;接收的指标数据聚合后其时间在滑动窗口之外,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理。
5.根据权利要求1所述的一种云原生环境下基于滑动窗口的告警方法,其特征在于:计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警。
6.一种如上述权利要求1-5任意一项所述的云原生环境下基于滑动窗口的告警系统,其特征在于:该系统由告警规则创建模块、滑动窗口创建模块、接收模块、处理模块、计算告警模块以及告警模块构成;
告警规则创建模块,用于根据需求创建所需的告警规则;
滑动窗口创建模块,用于根据告警规则创建对应的滑动窗口;
接收模块,用于接收监控指标数据;
处理模块,用于根据告警规则统计周期的单位,对指标数据进行聚合;
计算告警模块,用于滑动窗口滑动并计算告警;
告警模块,用于将告警信息发送到下游系统中,进行后续的处理。
7.根据权利要求6所述的一种云原生环境下基于滑动窗口的告警系统,其特征在于:所述告警规则创建模块中,告警规则包含的字段在不同告警系统中有所差别,但应该至少包含指标名、阈值、操作符、统计周期、触发次数等字段;告警规则通过配置文件等方式静态提供,系统启动时加载配置并解析出告警规则。
8.根据权利要求6所述的一种云原生环境下基于滑动窗口的告警系统,其特征在于:所述滑动窗口创建模块中,滑动窗口创建后,建立指标名到滑动窗口的索引,维护这个索引关系,每个告警规则对应一个滑动窗口,滑动窗口其主要工作是维持告警周期内的监控数据、沿时间滑动并计算告警是否触发。
9.根据权利要求8所述的一种云原生环境下基于滑动窗口的告警系统,其特征在于:所述处理模块中,从建立的索引中找到该指标对应的滑动窗口,将聚合之后的指标数据放置在滑动窗口中对应位置处,正常情况下,是将其加入到滑动窗口对应双端队列的尾部,用于后续滑动窗口滑动时参与计算产生告警;接收的指标数据聚合后其时间在滑动窗口之外,将其视为异常数据点,可以直接丢弃不做处理,也可以特殊标记后入库进行后续处理。
10.根据权利要求6所述的一种云原生环境下基于滑动窗口的告警系统,其特征在于:所述计算告警模块中,计算时遍历滑动窗口内的每个数据点,判断其是否满足操作符和阈值的定义,若满足则计数器加一,遍历结束后如果滑动窗口内匹配告警规则中定义的阈值和操作符的数据点数超过了指定的触发次数,则会触发一次告警。
CN202211425290.5A 2022-11-15 2022-11-15 一种云原生环境下基于滑动窗口的告警方法及系统 Pending CN115913886A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211425290.5A CN115913886A (zh) 2022-11-15 2022-11-15 一种云原生环境下基于滑动窗口的告警方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211425290.5A CN115913886A (zh) 2022-11-15 2022-11-15 一种云原生环境下基于滑动窗口的告警方法及系统

Publications (1)

Publication Number Publication Date
CN115913886A true CN115913886A (zh) 2023-04-04

Family

ID=86477184

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211425290.5A Pending CN115913886A (zh) 2022-11-15 2022-11-15 一种云原生环境下基于滑动窗口的告警方法及系统

Country Status (1)

Country Link
CN (1) CN115913886A (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098349A (zh) * 2006-06-27 2008-01-02 中兴通讯股份有限公司 一种网络管理系统和网元管理系统之间的告警计数过滤方法
CN106656590A (zh) * 2016-12-14 2017-05-10 北京亿阳信通科技有限公司 一种网络设备告警消息风暴的处理方法和装置
CN108270618A (zh) * 2017-12-30 2018-07-10 杭州华为数字技术有限公司 告警判定的方法、装置及告警系统
CN111444067A (zh) * 2020-05-18 2020-07-24 湖南御家科技有限公司 一种基于规则引擎的配置化系统监控方法、装置及设备
CN112749056A (zh) * 2020-12-30 2021-05-04 广州品唯软件有限公司 应用服务指标监控方法、装置、计算机设备和存储介质
CN113297183A (zh) * 2021-07-21 2021-08-24 国网汇通金财(北京)信息科技有限公司 一种时间窗口的告警分析方法及装置
CN113672467A (zh) * 2021-08-24 2021-11-19 中国电信股份有限公司 运维预警方法及装置、电子设备、存储介质
CA3142771A1 (en) * 2020-12-17 2022-06-17 10353744 Canada Ltd. Method of and device for monitoring business data, method of and device for generating rule data, and system

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101098349A (zh) * 2006-06-27 2008-01-02 中兴通讯股份有限公司 一种网络管理系统和网元管理系统之间的告警计数过滤方法
CN106656590A (zh) * 2016-12-14 2017-05-10 北京亿阳信通科技有限公司 一种网络设备告警消息风暴的处理方法和装置
CN108270618A (zh) * 2017-12-30 2018-07-10 杭州华为数字技术有限公司 告警判定的方法、装置及告警系统
CN111444067A (zh) * 2020-05-18 2020-07-24 湖南御家科技有限公司 一种基于规则引擎的配置化系统监控方法、装置及设备
CA3142771A1 (en) * 2020-12-17 2022-06-17 10353744 Canada Ltd. Method of and device for monitoring business data, method of and device for generating rule data, and system
CN112749056A (zh) * 2020-12-30 2021-05-04 广州品唯软件有限公司 应用服务指标监控方法、装置、计算机设备和存储介质
CN113297183A (zh) * 2021-07-21 2021-08-24 国网汇通金财(北京)信息科技有限公司 一种时间窗口的告警分析方法及装置
CN113672467A (zh) * 2021-08-24 2021-11-19 中国电信股份有限公司 运维预警方法及装置、电子设备、存储介质

Similar Documents

Publication Publication Date Title
CN110502398B (zh) 一种基于人工智能的交换机故障预测系统及方法
US20140068356A1 (en) Apparatus for determining message
CN110071854B (zh) 节点间报文传输流量监控方法及装置
CN112428872A (zh) 车辆电池管理系统、方法、存储介质以及服务器系统
CN113297042B (zh) 一种告警消息的处理方法、装置及设备
CN110971488A (zh) 一种数据处理方法、装置、服务器和存储介质
CN113271224A (zh) 节点的定位方法、装置、存储介质及电子装置
CN115080356A (zh) 异常告警方法和装置
CN116481836A (zh) 车辆数字孪生的测试方法、装置、设备、介质及产品
CN113157521B (zh) 用于区块链全生命周期的监控方法和监控系统
EP4092989A1 (en) Measuring metrics of a computer network
CN117130851B (zh) 一种高性能计算集群运行效率评价方法及系统
CN115913886A (zh) 一种云原生环境下基于滑动窗口的告警方法及系统
CN109687999A (zh) 一种告警故障的关联分析方法、装置及设备
US11743281B1 (en) Microservices anomaly detection
CN114860543A (zh) 异常检测方法、装置、设备与计算机可读存储介质
CN110362062B (zh) 一种故障自动处理系统
CN111143160B (zh) 一种系统全链路监控方法及装置
CN113347045A (zh) 一种告警消息处理方法及装置
CN108829563B (zh) 一种告警方法和告警装置
CN115904864B (zh) 内存溢出的监测方法、电子设备、介质及计算机程序产品
CN117692302B (zh) 一种数据收集存储和智能监控告警的方法及系统
CN117573481B (zh) 接口监控方法、系统、电子设备及计算机可读存储介质
CN114443420A (zh) 一种数据采样方法及相关装置
CN113518006A (zh) 一种物联网设备告警消息的处理方法及系统

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination