当前位置: 首页 > 专利查询>清华大学专利>正文

一种对重复出现类型故障的可操作可解释的根因定位方法技术

技术编号:33912267 阅读:26 留言:0更新日期:2022-06-25 19:40
本申请公开了一种对重复出现类型故障的可操作可解释的根因定位方法,其中,该方法包括:利用监控系统进行故障监控,基于监控系统监控到的故障触发训练好的根因定位模型,其中,训练好的根因定位模型通过训练好的决策树进行全局解释;根据故障发生时的故障实例对应的指标数据和故障依赖图得到根因故障实例,并对根因故障实例的定位结果进行局部解释;其中,故障依赖图根据故障实例构建。本申请能够实现可操作和可解释性的根因定,可直接根据定位结果得到如何进行修复操作,可精确定位结果。果。果。

【技术实现步骤摘要】
一种对重复出现类型故障的可操作可解释的根因定位方法


[0001]本申请涉及据故障诊断和根因定位
,尤其涉及一种对重复出现类型故障的可操作可解释的根因定位方法和装置。

技术介绍

[0002]在线服务系统,例如网上银行和搜索引擎等等,在我们的生活中已成为不可或缺的一部分。在线服务由许许多多的组件组成,例如负载均衡器、Web服务器、容器、数据库等等。这些组件共同工作、互相调用提供服务,组件之间存在复杂的依赖关系。由于在线服务系统的巨大规模和高复杂度。在线服务系统的故障时不可避免的,这样的故障会导致巨大的经济损失和用户满意度的降低。因此,为了减少故障导致的负面影响,根因定位是很关键的。
[0003]在实际的在线服务系统中,大多数的故障都是重复类型的。例如超过94%的故障都是有一小部分重复类型的根因的导致的。这样的重复类型故障的例子包括,因为缺少数据库中对应字段的索引导致的高服务响应时间,由于第三方服务不可用导致的服务成功率降低等等。因此,对于重复类型的故障进行定位非常重要。
[0004]为了对在线服务系统进行故障诊断和根因定位,有多种类型的监控数据持续被采集。其中,指标数据是在每个组件上对其关键性能指标的持续监控,存储为时间序列的形式。相比日志数据,指标数据的类型单一,分析简单,数据量少,而且足以反映组件的异常状态。和调用链数据相比,指标数据能够反映底层性能指标(例如CPU,内存等)。
[0005]在现有的实践中,对重复类型的故障的根因定位以来有经验的运维人员从经年累月的排障经历中积累的知觉。有经验的运维人员能够从在线服务系统的症状,例如指标的形态,猜测出可能是什么样的故障,并基于此进行进一步的确认。由于组件间复杂的依赖关系,根因可能导致一系列组件都出现问题。运维人员基于他们的经验可以分析这样的关联异常之间的关系,从而找到真正的根因。另一方面,在找到故障的根因之后,运维人员可以从历史上其他相似故障的修复经验中找到参考,更快找到更准确的修复方案并执行修复操作。
[0006]目前的通过机器学习方法,将故障根因服务定位的问题建模为多分类(每一类是一个可能的根因服务)的问题。采用的数据基于调用链,系统的全局配置,服务的指标等。基于历史故障数据训练一个多分类模型,其中具体的机器学习算法采用随机森林、多层感知机或者k

近邻等。然后当故障发生时,通过训练好的模型给出哪个服务更可能是根因服务。MEPFL定位的根因的粒度是根因服务,而且没有对分类结果进行任何解释。
[0007]目前的通过搜索历史上的相似故障进行间接的根因定位的方法,它只推荐相似历史故障,得到的相似历史故障的根因可能就是当前故障的根因。它将每一个故障建模为一个故障图,故障图的节点是系统中的组件,节点特征是该组件的各种关键指标,边是组件之间的部署关系。
[0008]针对现有的方法,没有可操作性,现有的根因定位方法定位到的粒度要么太粗(例
如,服务)或者太细(例如,单个指标),都不足以让运维人员从这样的定位结果直接确定如何采取修复操作。没有可解释性,现有的根因定位方法缺乏可解释性,无法让运维人员理解算法是如何给出根因的。这里指的可解释性包含两方面:局部解释,即解释单个故障的定位结果是如何给出的;全局解释,即解释整个定位方法或者模型的逻辑。
[0009]申请内容
[0010]本申请旨在至少在一定程度上解决相关技术中的技术问题之一。
[0011]为此,本申请的目的在于提出一种对重复出现类型故障的可操作可解释的根因定位方法,可以实现可操作和可解释的根因定位,可操作性使得运维人员可以直接从本申请的定位结果得到如何进行修复操作,可解释性使得运维人员可以理解和信任本申请的自动化方法给出的定位结果。
[0012]本申请的另一个目的在于提出一种对重复出现类型故障的可操作可解释的根因定位装置。
[0013]为达上述目的,本申请一方面提出了一种对重复出现类型故障的可操作可解释的根因定位方法,包括以下步骤:
[0014]利用监控系统进行故障监控,基于监控系统监控到的故障触发训练好的根因定位模型;其中,训练好的根因定位模型通过训练好的决策树进行全局解释;根据故障发生时的故障实例对应的指标数据和故障依赖图得到根因故障实例,并对根因故障实例的定位结果进行局部解释;其中,故障依赖图根据故障实例构建。
[0015]本申请实施例的方法,可以实现可操作和可解释的根因定位,可操作性使得运维人员可以直接从本申请的定位结果得到如何进行修复操作,可解释性使得运维人员可以理解和信任本申请的自动化方法给出的定位结果。
[0016]另外,根据本申请上述实施例的对重复出现类型故障的可操作可解释的根因定位方法还可以具有以下附加的技术特征:
[0017]进一步地,在本申请的一个实施例中,利用随机梯度下降法预设的损失函数,并基于历史故障数据对根因定位模型进行训练,得到所述练好的根因定位模型。
[0018]进一步地,在本申请的一个实施例中,所述根因定位模型包括特征提取器、特征聚合器和分类器三个组件,则,利用所述特征提取器将每个故障实例表示为固定长度的向量;其中,所述向量为实例级特征;利用所述特征聚合器基于所述故障依赖图的结构,把所述每个故障实例的相关故障实例的实例级特征进行聚合以得到聚合特征;利用所述分类器基于所述聚合特征进行打分,以根据所述三个组件对所述根因定位模型进行设计。
[0019]进一步地,在本申请的一个实施例中,所述利用随机梯度下降法预设的损失函数,包括:
[0020]采用二值交叉熵BCE度量故障T的故障实例v的输出分数s
T
(v)和真实标签r
T
(v)的差距之间的差距:
[0021]BCE(r
T
(v),s
T
(v))=r
T
(v)
·
log(s
T
(v))+(1

r
T
(v))
·
log(1

s
T
(v))
[0022]使用额外的权重对不同故障实例的BCE进行加权平均得到所述预设的损失函数,所述预设的损失函数为L
s
,则:
[0023][0024]其中,是训练集,T
i
表示一个训练集中的故障,N
H
是训练集的大小,V表示所有的故障实例,
[0025]进一步地,在本申请的一个实施例中,所述利用局部解释方式解释所述根因故障实例的定位结果,包括:预设第一故障和第二故障两个故障;其中,所述第一故障是待解释的当前故障,所述第二故障是历史故障;对于所述第一故障中的每一个故障实例,比较其聚合特征和所述第二故障中每一个属于相同故障类别的故障实例的聚合特征的距离,并将最小的一个作为该故障实例和所述第二故障的距离;对所述第一故障中所有故障实例到所述第二故障的距离进行加权平均,通过比较所述两个故障之本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种对重复出现类型故障的可操作可解释的根因定位方法,其特征在于,包括以下步骤:利用监控系统进行故障监控,基于所述监控系统监控到的故障触发训练好的根因定位模型;其中,所述训练好的根因定位模型通过训练好的决策树进行全局解释;根据所述故障发生时的故障实例对应的指标数据和故障依赖图得到根因故障实例,并对所述根因故障实例的定位结果进行局部解释;其中,所述故障依赖图根据所述故障实例构建。2.根据权利要求1所述的方法,其特征在于,利用随机梯度下降法预设的损失函数,并基于历史故障数据对根因定位模型进行训练,得到所述练好的根因定位模型。3.根据权利要求1所述的方法,其特征在于,所述根因定位模型包括特征提取器、特征聚合器和分类器三个组件,则,利用所述特征提取器将每个故障实例表示为固定长度的向量;其中,所述向量为实例级特征;利用所述特征聚合器基于所述故障依赖图的结构,把所述每个故障实例的相关故障实例的实例级特征进行聚合以得到聚合特征;利用所述分类器基于所述聚合特征进行打分,以根据所述三个组件对所述根因定位模型进行设计。4.根据权利要求2所述的方法,其特征在于,所述利用随机梯度下降法预设的损失函数,包括:采用二值交叉熵BCE度量故障T的故障实例v的输出分数s
T
(v)和真实标签r
T
(v)的差距之间的差距:BCE(r
T
(v),s
T
(v))=r
T
(v)
·
log(s
T
(v))+(1

r
T
(v))
·
log(1

s
T
(v))使用额外的权重对不同故障实例的BCE进行加权平均得到所述预设的损失函数,所述预设的损失函数为L
s
,则:其中,是训练集,T
i
表示一个训练集中的故障,N
H
是训练集的大小,V表示所有的故障实例,5.根据权利要求1所述的方法,其特征在于,所述利用局部解释方式解释所述根因故障实例的定位结果,包括:预设第一故障和第二故障两个故障;其中,所述第一故障是待解释的当前故障,所述第二故障是历史故障;对于所述第一故障中...

【专利技术属性】
技术研发人员:裴丹李则言
申请(专利权)人:清华大学
类型:发明
国别省市:

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

1