一种基于动态配置的告警实现方法及其系统技术方案

技术编号:25947848 阅读:41 留言:0更新日期:2020-10-17 03:39
本发明专利技术涉及一种基于动态配置的告警实现方法及其系统,该方法为:执行告警判断定时任务,定时对来自应用端或服务端的链路追踪数据进行告警规则匹配,判断是否触发告警规则,若判断为是,则根据告警规则中设置的推送对象和推送方式,将告警信息推送给用户,并记录此次告警信息;若发生告警规则变更需求,则通过页面端实时配置以更新告警规则,并记录此次更新后的告警规则;实时监听告警规则变更事件,并同步更新告警判断定时任务中的告警规则。与现有技术相比,本发明专利技术通过在页面端配置更新告警规则以降低人工配置错误率,采用监听方式实现了告警规则的动态加载和实时生效,通过增加消息推送渠道,保证用户有效收到消息。

【技术实现步骤摘要】
一种基于动态配置的告警实现方法及其系统
本专利技术涉及微服务应用安全
,尤其是涉及一种基于动态配置的告警实现方法及其系统。
技术介绍
随着微服务架构的流行,为了保证在发生故障的时候,能够快速定位和解决问题,往往需要借助APM(应用性能监控)工具以帮助理解系统行为及分析性能问题,目前主要的一些APM工具有:Cat、Zipkin、Pinpoint、SkyWalking,其中,Skywalking是一款针对分布式系统的APM工具,特别是针对微服务、cloudnative和容器化(Docker,Kubernetes,Mesos)架构,提供了分布式追踪、性能指标分析、应用和服务依赖分析、应用拓扑分析、告警等功能。Skywalking发送告警的基本原理是每隔一段时间轮询skywalking-collector收集到的链路追踪的数据,再根据所配置的告警规则(如服务响应时间、服务响应时间百分比)等,如果达到阈值则发送响应的告警信息,发送告警信息是以线程池异步的方式调用webhook接口完成。具体是基于JavaAgent字节码注入无侵入式的收集微服务调用信息,对触发告警规则的应用和服务发出告警信息。现有的告警实现中告警规则只能在系统启动之前通过配置文件形式加载,一方面受人为影响较大,另一方面,一旦在系统运行期间发生告警规则的变化,则需停止系统运行、重新更改配置文件,才能保证告警规则的正常加载;此外,通过webhook方式推送告警信息,可能存在用户无法有效收到告警信息的问题。
技术实现思路
本专利技术的目的就是为了克服上述现有技术存在的缺陷而提供一种基于动态配置的告警实现方法及其系统,在告警规则发生变更时,能够实时配置规则,并自动加载告警规则,同时实现多渠道推送信息的目的。本专利技术的目的可以通过以下技术方案来实现:一种基于动态配置的告警实现方法,包括以下步骤:S1、执行告警判断定时任务,定时对来自应用端或服务端的链路追踪数据进行告警规则匹配;S2、若发生告警规则变更需求,则通过页面端实时配置以更新告警规则,并记录此次更新后的告警规则,否则执行步骤S4;S3、实时监听告警规则变更事件,并将更新后的告警规则替换为当前告警规则;S4、获取告警规则,将步骤S1中的链路追踪数据与该告警规则进行匹配,判断是否触发告警规则,若判断为是,则执行步骤S5,否则返回步骤S1,其中,告警规则中设置有规则对象及对应的规则阈值;S5、根据告警规则中设置的推送对象和推送方式,将告警信息推送给用户,并记录此次告警信息。进一步地,所述告警规则变更事件包括告警规则的修改、新增和删除。进一步地,所述步骤S2具体包括以下步骤:S21、若发生告警规则变更需求,则执行步骤S22,否则执行步骤S4;S22、将告警规则配置-转换为Web页面;S23、根据告警规则变更需求,在Web页面中依次执行规则选项的选取和校验操作,以更新告警规则;S24、记录此次更新后的告警规则。进一步地,所述规则选项包括推送对象选项和推送方式选项。进一步地,所述推送方式选项包括邮件推送、微信推送和/或短信推送。进一步地,所述步骤S4中对链路追踪数据进行匹配的具体过程为:S41、判断链路追踪数据是否与告警规则的规则对象一致,若判断为是,则执行步骤S42,否则返回步骤S1;S42、判断链路追踪数据是否超出告警规则的规则阈值,若判断为是,则表明触发告警规则,执行步骤S5,否则返回步骤S1。一种基于动态配置的告警实现系统,包括匹配单元、规则配置单元、监听器和数据库,所述匹配单元与数据库双向连接,以从数据库读取告警规则,并进行链路追踪数据与告警规则的匹配,从而输出告警信息给数据库进行记录;所述数据库还与监听器连接,所述监听器分别连接至匹配单元和规则配置单元,监听器从规则配置单元监听告警规则变更事件,并将更新后的告警规则传输给数据库进行记录、同时将更新后的告警规则推送给匹配单元。进一步地,所述规则配置单元包括转换模块和页面操作模块,所述转换模块用于将告警配置转换为Web页面,所述页面操作模块用于执行告警规则修改、新增和删除操作。进一步地,所述页面操作模块包括规则选项子模块和校验子模块,所述规则选项子模块用于执行推送对象和推送方式的选取操作,所述校验子模块用于校验规则选取操作结果是否满足预设的规则配置要求。进一步地,所述数据库具体为ES数据库。与现有技术相比,本专利技术具有以下优点:一、本专利技术在Skywalking提供的告警功能基础上,通过将告警规则配置-转换为Web页面,在页面端进行告警规则的修改、新增和/或删除,并采用规则选项和校验的方式,能够有效减少告警规则配置时人为因素的干扰、降低人工配置的错误率。二、本专利技术采用监听告警规则变更事件的方式,一旦告警规则配置页面发生规则修改、新增和/或删除,能够及时将更新后的告警规则替换至数据库中、并将更新后的告警规则实时推送给匹配单元,从而实现告警规则动态加载、实时生效的目的。三、本专利技术在Web页面端设置包含推送对象和推送方式的规则选项,从而丰富了告警信息的推送渠道,有利于后续用户能够有效接收到告警信息。附图说明图1为本专利技术的方法流程示意图;图2为本专利技术的系统结构示意图;图3为实施例中告警实现过程示意图。图中标记说明:1、匹配单元,2、规则配置单元,3、监听器,4、数据库,21、转换模块,22、页面操作模块,221、规则选项子模块,222、校验子模块。具体实施方式下面结合附图和具体实施例对本专利技术进行详细说明。实施例如图1所示,一种基于动态配置的告警实现方法,包括以下步骤:S1、执行告警判断定时任务,定时对来自应用端或服务端的链路追踪数据进行告警规则匹配;S2、若发生告警规则变更需求,则通过页面端实时配置以更新告警规则,并记录此次更新后的告警规则,否则执行步骤S4,其中,变更需求包括对告警规则中规则对象和规则阈值的变更;S3、实时监听告警规则变更事件,并将更新后的告警规则替换为当前告警规则,其中,告警规则变更事件包括告警规则的修改、新增和删除;S4、获取告警规则,将步骤S1中的链路追踪数据与该告警规则匹配,判断是否触发告警规则,若判断为是,则执行步骤S5,否则返回步骤S1,其中,告警规则中设置有规则对象及对应的规则阈值,其中,匹配过程包括依次进行的规则对象匹配和规则阈值匹配;S5、根据告警规则中设置的推送对象和推送方式,将告警信息推送给用户,并记录此次告警信息。具体的,在步骤S2中,通过页面端实时配置以更新告警规则的过程为:将告警规则配置转换为Web页面;根据告警规则变更需求,在Web页面中依次执行规则选项的选取和校验操作,以更新告警规则,其中,规则选项包括推送对象选项和推送方式选项,本实施例中,推送方式选项包括邮件推送、微信推送和/或短信推本文档来自技高网...

【技术保护点】
1.一种基于动态配置的告警实现方法,其特征在于,包括以下步骤:/nS1、执行告警判断定时任务,定时对来自应用端或服务端的链路追踪数据进行告警规则匹配;/nS2、若发生告警规则变更需求,则通过页面端实时配置以更新告警规则,并记录此次更新后的告警规则,否则执行步骤S4;/nS3、实时监听告警规则变更事件,并将更新后的告警规则替换为当前告警规则;/nS4、获取告警规则,将步骤S1中的链路追踪数据与该告警规则进行匹配,判断是否触发告警规则,若判断为是,则执行步骤S5,否则返回步骤S1,其中,告警规则中设置有规则对象及对应的规则阈值;/nS5、根据告警规则中设置的推送对象和推送方式,将告警信息推送给用户,并记录此次告警信息。/n

【技术特征摘要】
1.一种基于动态配置的告警实现方法,其特征在于,包括以下步骤:
S1、执行告警判断定时任务,定时对来自应用端或服务端的链路追踪数据进行告警规则匹配;
S2、若发生告警规则变更需求,则通过页面端实时配置以更新告警规则,并记录此次更新后的告警规则,否则执行步骤S4;
S3、实时监听告警规则变更事件,并将更新后的告警规则替换为当前告警规则;
S4、获取告警规则,将步骤S1中的链路追踪数据与该告警规则进行匹配,判断是否触发告警规则,若判断为是,则执行步骤S5,否则返回步骤S1,其中,告警规则中设置有规则对象及对应的规则阈值;
S5、根据告警规则中设置的推送对象和推送方式,将告警信息推送给用户,并记录此次告警信息。


2.根据权利要求1所述的一种基于动态配置的告警实现方法,其特征在于,所述告警规则变更事件包括告警规则的修改、新增和删除。


3.根据权利要求1所述的一种基于动态配置的告警实现方法,其特征在于,所述步骤S2具体包括以下步骤:
S21、若发生告警规则变更需求,则执行步骤S22,否则执行步骤S4;
S22、将告警规则配置转换为Web页面;
S23、根据告警规则变更需求,在Web页面中依次执行规则选项的选取和校验操作,以更新告警规则;
S24、记录此次更新后的告警规则。


4.根据权利要求3所述的一种基于动态配置的告警实现方法,其特征在于,所述规则选项包括推送对象选项和推送方式选项。


5.根据权利要求4所述的一种基于动态配置的告警实现方法,其特征在于,所述推送方式选项包括邮件推送、微信推送和/或短信推送。


6.根据权利要求1所述的一种基于动态配置的告警...

【专利技术属性】
技术研发人员:李虎曾毅峰刘佳利周红莉
申请(专利权)人:上海浦东发展银行股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1