本发明属于告警压降技术领域,具体涉及一种基于指标集树的告警压降方法。
背景技术:
智能运维涉及实时指标异常检测和告警输出,很多情况下告警输出的量可能很大,因此需要进行告警压降。常用的告警压降方法包括:
1、告警分级:只输出严重告警,从而达到告警压降的效果。
2、按某一个维度进行告警合并,比如一个区域的告警只输出一个。
3、使用频繁模式、聚类等ai算法进行告警压降。
4、借助于已知的拓扑关系进行告警压降等。
这些常用的告警压降方法已经可以起到较好的数量压缩效果,
技术实现要素:
发明目的:本发明针对指标对象这个维度,提出了一种基于指标集树的告警压降方法,既能对告警数量进行压降,还能给出较好的告警提醒内容。
技术方案:一种基于指标集树的告警压降方法,包括以下步骤:
步骤1:构建多个指标集,每个指标集由多个具有业务相关性的指标构建得到;
步骤2:针对每一个指标集,选取一个指标作为主指标,其余指标作为普通指标,并将各普通指标进行关联;
步骤3:基于业务特性,对各指标集中的主指标进行分析,以各指标集中的主指标之间的关系构建得到指标集树;
步骤4:从叶节点开始倒序遍历指标集树中的每个节点,依次判断每个节点中的指标是否存在告警,若存在告警,则输出告警内容,并进行下一个节点判断,若不存在告警,则进行下一个节点判断;直至遍历完指标集树中的每个节点。
进一步的,所述步骤2中将率指标作为主指标,量指标作为普通指标。
进一步的,所述步骤4中的告警内容包括主指标告警内容和/或普通指标告警内容。
进一步的,基于各普通指标之间的关联关系,依次获取各普通指标的告警内容,汇总得到最终输出的普通指标告警内容。
进一步的,所述步骤2中采用预设规则进行普通指标关联。
有益效果:本发明与现有技术相比,具有以下优点:
1、充分利用不同相关指标对业务的不同影响度来进行告警压降,具体来说,就是指标集中的指标是具有一定相关性的不同指标,同时有些指标比较重要作为主指标,有些指标作为普通指标进行辅助告警。
2、通过指标集进行指标关联,然后输出关联后的告警内容,增加告警内容的可读性,提升运维人员处理故障的效率。
3、从算法应用实例效果来看,本方法是一种简单、有效、有一定创新性的告警压降方法。
附图说明
图1为本发明的指标集树构建示意图;
图2为本实施例的指标集1中普通指标告警关联输出结果示意图。
具体实施方式
下面结合附图和实施例进一步阐述本发明。
为方便理解本发明方法,现对各步骤中出现的名词进行如下说明:
指标:比如“系统成功率”是一个指标,具体的指标值是依附于指标对象,比如某个服务调用的系统成功率。
指标对象:比如“某个服务调用的系统成功率”中的某个服务就是指标对象。
对象内指标:比如某个服务调用的系统成功率、及时率同属于这个服务的,称为对象内指标。
对象间指标:比如某个服务调用的系统成功率、某台主机的cpu占有率,这两个指标分属不同的指标对象,称为对象间指标。
指标集:若干个指标构成一个指标集,比如“系统成功率、业务总量、系统失败量”这三个指标构成一个指标集a。每个指标集有唯一的一个主指标和若干个普通指标,比如指标集a中可以设定系统成功率为主指标,业务总量和系统失败量为普通指标。
指标集树:由指标集构成的一个树,树上的每个节点都是一个指标集。
本发明的一种基于指标集数的告警压降方法,具体包括以下步骤:
步骤1:一般选择有直接公式关系的指标构成最基础的指标集;比如:系统成功率=(业务总量-系统失败量)/业务总量,所以“系统成功率、业务总量、系统失败量”这三个指标可以构成一个指标集,并且根据业务经验,一般选择率指标作为主指标,量指标作为普通指标。
步骤2:根据业务特性对步骤1构建的指标集中的主指标进行分析确定,以各指标集中的主指标之间的关系构建得到指标集树;每个指标集均具有一个主指标,那么这些主指标之间也有可能可以构建新的指标集,从而构成一颗指标集树,指标集树上的每个节点都是一个指标集。
比如,系统成功率和及时率作为两个主指标,从业务上考虑,一般认为系统成功率为主,因为系统成功率下降了,说明系统可用性出问题了;而及时率下降了,只是说明使用体验感知下降,系统仍然可用,但如果及时率持续恶化的话会进一步影响系统的可用性。所以,把系统成功率作为主指标,及时率作为普通指标构成一个新的指标集,从而形成一颗指标集树。
步骤3:指标集的告警收敛方案如下:
首先,判断主指标是否有告警;若主指标有告警,则输出的告警内容为主指标告警内容+指标集内普通指标告警关联输出结果;若主指标没有告警,则输出的告警内容为指标集内普通指标告警关联输出结果。
实施例:
现以电信运营商某个实际的项目为例,针对csb服务调用的告警压降。每个csb服务调用的指标包括:系统成功率、及时率、业务总量、系统失败量和超时量,这五个指标的指标生成周期是1分钟,也就是每隔1分钟会生成5个告警。根据本发明步骤构建得到如图1所示的指标集树;参见图2,以指标集1为例说明采用规则实现指标集1内普通指标关联。
现以2020.6.6一天的csb告警量为例说明告警压降的效果:
业务总量告警1658个,系统失败量告警265个,系统成功率告警520个,系统及时率告警671个,超时量告警325个,共计3439个告警。采用指标集树的告警压降算法后,告警压降到493个,效果明显。
某个告警输出内容示意:
【能力调用(csb)告警】6月6日20:05-20:10监测发现,集团统一门户|sgw|用户鉴权(svc37082):系统成功率为57.45%,低于告警阈值65%;系统及时率为67%,低于告警阈值70%,并且及时率已经持续15分钟总体异常。
1.一种基于指标集树的告警压降方法,其特征在于:包括以下步骤:
步骤1:构建多个指标集,每个指标集由多个具有业务相关性的指标构建得到;
步骤2:针对每一个指标集,选取一个指标作为主指标,其余指标作为普通指标,并将各普通指标进行关联;
步骤3:基于业务特性,对各指标集中的主指标进行分析,以各指标集中的主指标之间的关系构建得到指标集树;
步骤4:从叶节点开始倒序遍历指标集树中的每个节点,依次判断每个节点中的指标是否存在告警,若存在告警,则输出告警内容,并进行下一个节点判断,若不存在告警,则进行下一个节点判断;直至遍历完指标集树中的每个节点。
2.根据权利要求1所述的一种基于指标集树的告警压降方法,其特征在于:所述步骤2中将率指标作为主指标,量指标作为普通指标。
3.根据权利要求1所述的一种基于指标集树的告警压降方法,其特征在于:所述步骤4中的告警内容包括主指标告警内容和/或普通指标告警内容。
4.根据权利要求3所述的一种基于指标集树的告警压降方法,其特征在于:基于各普通指标之间的关联关系,依次获取各普通指标的告警内容,汇总得到最终输出的普通指标告警内容。
5.根据权利要求1所述的一种基于指标集树的告警压降方法,其特征在于:所述步骤2中采用预设规则进行普通指标关联。