保护机制影响下基于图推理的服务故障根因定位方法及装置制造方法及图纸

技术编号:37504568 阅读:13 留言:0更新日期:2023-05-07 09:40
本发明专利技术提供一种保护机制影响下基于图推理的服务故障根因定位方法及装置,收集微服务系统内各微服务的性能指标和链路追踪,在对链路追踪经过的微服务进行编码、聚类后,在通过核密度估计异常检测算法判断存在响应时间异常的情况下,构建服务属性图,并针对保护机制中的熔断机制和限流机制动态校准各微服务之间的服务相关性,利用PageRank算法迭代服务属性图,计算漫步者停留在各个节点的概率,对各个异常服务节点进行根因排序,查找出服务故障根因。能够消除保护机制的影响,在多个服务器同时发生故障时,准确定位根因,确保服务的稳定运行。定运行。定运行。

【技术实现步骤摘要】
保护机制影响下基于图推理的服务故障根因定位方法及装置


[0001]本专利技术涉及微服务系统的运维管理
,尤其涉及一种保护机制影响下基于图推理的服务故障根因定位方法及装置。

技术介绍

[0002]互联网应用的动态性和复杂性不断增加,传统的软件架构已经难以适应用户需求的快速变化。越来越多复杂的软件系统采用模块化方法,将大型应用分解为成百上千个更小,更独立,更易于管理的微服务。微服务间通过轻量级通信机制使得这些组件协同配合,从而形成一种高内聚低耦合的系统架构。然而,由于服务之间存在复杂的依赖关系,服务异常可能沿着服务调用链传播,由少量的根因节点影响到关联节点,并最终导致业务级别的可用性问题。因此,当监控到系统存在异常时,运维人员需要快速且准确的定位到故障的根因服务,防止故障的进一步传播。
[0003]微服务根因定位面临很多严峻的问题。首先,微服务指标众多,服务运行环境动态变化,传统的基于异常程度判断根因的方法很难准确的定位服务根因。其次,微服务之间存在复杂的依赖关系,故障可以进行传播。单个服务故障很可能引发级联服务故障,进而导致整个系统瘫痪,造成巨大的经济损失。多个服务同时故障难以准确的定位服务根因。再次,服务的访问时间和访问频率不同,服务间依赖关系强弱不一致。这种不一致性使得服务依赖具有动态性,导致服务故障传播具有不确定性。最后,微服务架构通常会引入一些保护机制来增强服务的稳定性,比如熔断,限流机制。当上游服务对下游服务请求连续异常时,上游服务通常会开启服务熔断,避免造成级联故障。当服务并发访问量超过阈值后,服务通常会开启限流机制,多余的服务请求会被拒绝,避免高并发访问造成服务崩溃。虽然上述保护机制避免了服务故障的产生,但是同时也改变了故障的传播方式。保护机制和服务依赖的动态性进一步增加了根因定位的复杂性。现有的方法均未考虑到保护机制和服务依赖动态性对服务根因定位的影响,很难准确地定位服务故障根因。
[0004]因此,亟需针对微服务运维提供一种高效的故障根因定位方法对故障根因进行准确地定位,减少人工故障排查时间,提升运维效率。

技术实现思路

[0005]鉴于此,本专利技术实施例提供了一种保护机制影响下基于图推理的服务故障根因定位方法及装置,以消除或改善现有技术中存在的一个或更多个缺陷,解决现有微服务系统由于微服务依赖关系复杂以及保护机制作用下微服务之间服务相关性变化导致的故障根因定位困难的问题。
[0006]一种保护机制影响下基于图推理的服务故障根因定位方法,所述方法针对微服务系统实施,所述微服务系统由多个微服务构成,该方法包括以下步骤:
[0007]在指定检测周期内,针对微服务系统中的各微服务收集设定数量个性能指标,并收集所述微服务系统中的链路追踪;所述性能指标包括CPU利用率、内存利用率以及网络接
受/发送吞吐量;
[0008]对每条链路追踪经过的微服务进行编码,并计算各编码之间的欧氏距离,根据各链路追踪之间的欧氏距离将同类型的所述链路追踪进行聚类;利用核密度估计异常检测算法判断各类链路追踪的响应时间是否异常;
[0009]若存在异常数据,则将所述检测周期内收集的所述链路追踪区分为正常链路追踪以及异常链路追踪,记录每条链路追踪对应的起始时间和响应时间,并统计所述正常链路追踪以及所述异常链路追踪的数量;
[0010]构建服务属性图,所述服务属性图每个节点对应一个微服务,各节点通过向量记录该微服务的异常得分以及与其他微服务的调用关系,所述异常得分包括服务指标异常得分和链路追踪异常得分,所述服务指标异常得分基于相应微服务各性能指标的平均值和标准偏差计算得到,所述链路追踪异常得分基于经过相应微服务的正常链路追踪数量、异常链路追踪数量以及不包含当前微服务的所有异常链路追踪数量计算得到;各节点之间的边还添加权重值,所述权重值根据各微服务之间的服务相关性计算得到;所述服务相关性针对熔断机制和限流机制进行更新和修正,包括:
[0011]获取所述指定检测周期内所述微服务系统的所有链路追踪,获取各链路追踪的Http状态码,根据所述Http状态码记载的由于熔断请求被拒绝的次数,以确定熔断器开启时间段,在所述熔断器开启时间段内,将各微服务的响应时间更新为上游微服务的平均值,将各微服务的吞吐量更新为上游微服务的吞吐量之和,基于更新后的性能指标重新计算熔断机制校验下各微服务之间的服务相关性和权重值;再根据所述Http状态码查询由于限流请求被拒绝的次数占总请求次数的比例,并根据所述比例构建限流机制对微服务之间服务相关性的影响因子,根据所述影响因子修正得到限流机制下各微服务之间的服务相关性和权重值;
[0012]利用PageRank算法迭代所述服务属性图,计算漫步者停留在各个节点的概率,从而对各个异常服务节点进行根因排序,将概率最高的异常服务节点输出为服务故障根因。
[0013]在一些实施例中,所述性能指标采用服务器监控系统Prometheus收集,所述链路追踪采用OpenTracing工具收集。
[0014]在一些实施例中,所述服务指标异常得分的计算步骤,包括:
[0015]定义微服务i在所述指定检测周期内第k个性能指标集合为:
[0016][0017]定义微服务i在所述指定检测周期内第k个性能指标的服务异常严重程度为:
[0018][0019]t时刻微服务i的第k个性能指标对应的服务异常严重程度的计算式为:
[0020][0021]其中,μ
ik
表示微服务i的第k个性能指标在所述指定检测周期内的平均值,σ
ik
表示微服务i的第k个性能指标在所述指定检测周期内的标准偏差;
[0022]定义服务指标异常得分δ
i1
的计算式为:
[0023][0024]其中,c表示所述指定检测周期内采集数据的时刻总数,m表示性能指标种类的数量。
[0025]在一些实施例中,所述链路追踪异常得分的计算步骤,包括:
[0026]定义微服务i的异常链路追踪的数量为正常链路追踪的数量为不包含微服务i的所有异常链路追踪的数量为则微服务i的链路追踪异常得分δ
i2
计算式为:
[0027][0028]在一些实施例中,所述方法中,将微服务i与微服务j的关于第k个性能指标的服务相关性定义为:
[0029][0030]其中,表示所述指定检测周期内微服务i的第k个性能指标的均值,表示所述指定检测周期内微服务j的第k个性能指标的均值;
[0031]所述权重值的计算式为:
[0032]W
ij
=maxcorr
ijk
,k=1,2,

,m。
[0033]在一些实施例中,在所述熔断器开启时间段内,将各微服务的响应时间更新为上游微服务的平均值,将各微服务的吞吐量更新为上游微服务的吞吐量之和,基于更新后的性能指标重新计算熔断机制校验下各微服务之间的服务相关性和权重值,包括:
[0034]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,所述方法针对微服务系统实施,所述微服务系统由多个微服务构成,该方法包括以下步骤:在指定检测周期内,针对微服务系统中的各微服务收集设定数量个性能指标,并收集所述微服务系统中的链路追踪;所述性能指标包括CPU利用率、内存利用率以及网络接受/发送吞吐量;对每条链路追踪经过的微服务进行编码,并计算各编码之间的欧氏距离,根据各链路追踪之间的欧氏距离将同类型的所述链路追踪进行聚类;利用核密度估计异常检测算法判断各类链路追踪的响应时间是否异常;若存在异常数据,则将所述检测周期内收集的所述链路追踪区分为正常链路追踪以及异常链路追踪,记录每条链路追踪对应的起始时间和响应时间,并统计所述正常链路追踪以及所述异常链路追踪的数量;构建服务属性图,所述服务属性图每个节点对应一个微服务,各节点通过向量记录该微服务的异常得分以及与其他微服务的调用关系,所述异常得分包括服务指标异常得分和链路追踪异常得分,所述服务指标异常得分基于相应微服务各性能指标的平均值和标准偏差计算得到,所述链路追踪异常得分基于经过相应微服务的正常链路追踪数量、异常链路追踪数量以及不包含当前微服务的所有异常链路追踪数量计算得到;各节点之间的边还添加权重值,所述权重值根据各微服务之间的服务相关性计算得到;所述服务相关性针对熔断机制和限流机制进行更新和修正,包括:获取所述指定检测周期内所述微服务系统的所有链路追踪,获取各链路追踪的Http状态码,根据所述Http状态码记载的由于熔断请求被拒绝的次数,以确定熔断器开启时间段,在所述熔断器开启时间段内,将各微服务的响应时间更新为上游微服务的平均值,将各微服务的吞吐量更新为上游微服务的吞吐量之和,基于更新后的性能指标重新计算熔断机制校验下各微服务之间的服务相关性和权重值;再根据所述Http状态码查询由于限流请求被拒绝的次数占总请求次数的比例,并根据所述比例构建限流机制对微服务之间服务相关性的影响因子,根据所述影响因子修正得到限流机制下各微服务之间的服务相关性和权重值;利用PageRank算法迭代所述服务属性图,计算漫步者停留在各个节点的概率,从而对各个异常服务节点进行根因排序,将概率最高的异常服务节点输出为服务故障根因。2.根据权利要求1所述的保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,所述性能指标采用服务器监控系统Prometheus收集,所述链路追踪采用OpenTracing工具收集。3.根据权利要求1所述的保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,所述服务指标异常得分的计算步骤,包括:定义微服务i在所述指定检测周期内第k个性能指标集合为:定义微服务i在所述指定检测周期内第k个性能指标的服务异常严重程度为:t时刻微服务i的第k个性能指标对应的服务异常严重程度的计算式为:
其中,μ
ik
表示微服务i的第k个性能指标在所述指定检测周期内的平均值,σ
ik
表示微服务i的第k个性能指标在所述指定检测周期内的标准偏差;定义服务指标异常得分δ
i1
的计算式为:其中,c表示所述指定检测周期内采集数据的时刻总数,m表示性能指标种类的数量。4.根据权利要求3所述的保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,所述链路追踪异常得分的计算步骤,包括:定义微服务i的异常链路追踪的数量为正常链路追踪的数量为不包含微服务i的所有异常链路追踪的数量为则微服务i的链路追踪异常得分δ
i2
计算式为:5.根据权利要求4所述的保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,所述方法中,将微服务i与微服务j的关于第k个性能指标的服务相关性定义为:其中,表示所述指定检测周期内微服务i的第k个性能指标的均值,表示所述指定检测周期内微服务j的第k个性能指标的均值;所述权重值的计算式为:W
ij
=maxcorr
ijk
,k=1,2,...,m。6.根据权利要求5所述的保护机制影响下基于图推理的服务故障根因定位方法,其特征在于,在所述熔断器开启时间段内,将各微服务的响应时间更新为上游微服务的平均值,将各微服务的吞吐量更新为上游微服务的吞吐量之和,基于更新后的性能指标重新计算熔断机制校验下各微服务之间的服务相关性和权重值,包括:对于微服务j在所述熔断器开启时间段[p,q]内收集的性能指标如果记录了响应时间,则将微服务j的响应时间更新为上游微服务的平均值,表达式为:如果记录了微服务j的吞吐量,则将微服务j的吞吐量更新为上游微服务的吞吐量之和,表达式为:采用校正后的指标更新权重值W

ij
;根据所述Http状态码查询由于限流请求被拒绝的次数占总请求次数的比例,并根据所述比例构建限流机制对微服务之间服务相关性的影响因子,根据所述影响因子修正得到限...

【专利技术属性】
技术研发人员:张海涛田伟杨能张业鹏
申请(专利权)人:北京邮电大学
类型:发明
国别省市:

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

1