CN114024837B - 一种微服务系统的故障根因定位方法 - Google Patents

一种微服务系统的故障根因定位方法 Download PDF

Info

Publication number
CN114024837B
CN114024837B CN202210007248.5A CN202210007248A CN114024837B CN 114024837 B CN114024837 B CN 114024837B CN 202210007248 A CN202210007248 A CN 202210007248A CN 114024837 B CN114024837 B CN 114024837B
Authority
CN
China
Prior art keywords
node
topological graph
service
host
abnormal
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.)
Active
Application number
CN202210007248.5A
Other languages
English (en)
Other versions
CN114024837A (zh
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.)
Hangzhou Chengyun Digital Technology Co ltd
Original Assignee
Hangzhou Chengyun Digital 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 Hangzhou Chengyun Digital Technology Co ltd filed Critical Hangzhou Chengyun Digital Technology Co ltd
Priority to CN202210007248.5A priority Critical patent/CN114024837B/zh
Publication of CN114024837A publication Critical patent/CN114024837A/zh
Application granted granted Critical
Publication of CN114024837B publication Critical patent/CN114024837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0677Localisation of faults
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/12Discovery or management of network topologies

Abstract

本发明公开了一种微服务系统的故障根因定位方法,实时获取微服务系统中的调用链数据,将调用链数据转换为四个业务指标并实时监测,当发现异常时,利用异常时间段内的调用链构建服务拓扑图、进程拓扑图和主机拓扑图,并计算拓扑图上每个节点的异常分,最终按照深度从大到小、先进程后主机的顺序定位到根因节点,即进程节点或主机节点。本发明获取到的调用链数据,不仅能动态构建主机层面的拓扑关系,还能动态构建进程层面的拓扑关系以及服务层面的拓扑关系,为更准确的根因定位提供了数据保障。本发明利用无监督算法,实时分析异常时间段的调用链数据,无需训练数据和标签。

Description

一种微服务系统的故障根因定位方法
技术领域
本发明涉及计算机应用技术领域,具体涉及一种微服务系统的故障根因定位方法。
背景技术
随着微服务系统的普及和大量使用,基于告警数据的根因定位方法无法适应微服务系统的动态变化,其大多基于CMDB数据构建静态的服务依赖关系。而现有大多数据调用链采集工具只能获取服务间的依赖关系,无法实时获取各个服务所在的进程信息、主机信息,因此大多数基于调用链的根因定位方案,只能定位到根因故障服务,无法具体到根因服务所在的进程或主机。
现有的一些技术方案中,需要CMDB数据或者TCP/IP数据来构建主机层面的拓扑关系,无法适应微服务系统中主机之间动态变化的连接关系。而且该类数据没有进程信息、服务信息,无法定位更准确,即不能准确定位到主机上具体哪个进程、哪个服务的故障。
现有的一些技术方案中,利用告警信息进行根因定位,需要基于大量的历史告警数据进行学习训练,不仅在定位系统部署的初期阶段无法准确定位,而且也无法适应微服务系统的动态变化问题。
现有的一些技术方案中,基于业务指标发现异常时间段,只用到了平均耗时和错误率。实际上,调用数也是个很重要的反应整体调用是否异常的业务指标,需要实时检测。
发明内容
本发明提供了一种微服务系统的故障根因定位方法,实时获取全量调用链数据,业务指标异常检测,异常时间段内的调用链拓扑图构建,拓扑图上每个节点的异常分计算,故障根因节点定位。
一种微服务系统的故障根因定位方法,包括以下步骤:
1)实时采集微服务系统中产生的全量调用链数据;
2)基于全量调用链数据,实时统计业务指标,利用异常检测算法判断业务指标是否异常,并确定对应的异常时间段;
3)获取异常时间段内对应的所有调用链数据,对于每条调用链数据,实时构建span流程图并计算除了根节点外的每个节点的异常分,汇聚异常时间段所有span流程图构建服务拓扑图、进程拓扑图和主机拓扑图,基于进程拓扑图和主机拓扑图根据计算确定故障根因节点。
本发明获取的调用链数据能获取到每条调用链中每个服务所在的具体进程信息、主机信息,从而为我们更准确的根因定位提供了数据保障,同时利用调用链数构建拓扑关系,能够应对微服务系统动态变化的依赖关系。
本发明实时获取微服务系统中的调用链数据,将调用链数据转换为四个业务指标并实时监测,当发现异常时,利用异常时间段内的调用链构建服务拓扑图、进程拓扑图和主机拓扑图,并计算拓扑图上每个节点的异常分,最终按照深度从大到小、先进程后主机的顺序定位到根因节点,即进程节点或主机节点。
以下作为本发明的优选技术方案,进行进一步说明。
步骤1)中,全量调用链数据的每一条调用链都包含若干节点,每个节点表示一次调用,其中包括span_id,parent_id,service_id,process_id,host_id;其中,span_id表示该节点的编号,即该span的唯一键;parent_id表示该节点的父节点的编号,即调用该span的父span的span_id,如果该节点为根节点,则parent_id为None;service_id表示该节点所在的服务编号,process_id表示该节点所在的进程编号,host_id表示该节点所在的主机编号。
步骤2)中,所述的统计业务指标包括:调用次数
Figure 290099DEST_PATH_IMAGE001
、错误率
Figure 606811DEST_PATH_IMAGE002
、90%分位点的耗时
Figure 732374DEST_PATH_IMAGE003
,50%分位点的耗时
Figure 159945DEST_PATH_IMAGE004
四个业务指标。
本发明利用异常检测算法判断四个业务指标是否异常,并确定对应的异常时间段。
本发明构建错误率、调用数、90%分位点耗时和50%分位点耗时等四个业务指标,并利用异常检测算法时候检测异常时间段。
步骤3)中,本发明获取到异常时间段内的调用链数据,每条调用链都包含了各个服务所在的进程信息、主机信息,并实时构建服务拓扑图、进程拓扑图和主机拓扑图。基于拓扑图,计算拓扑图上每个节点的异常分,并按照深度从大到小、先进程后主机的顺序定位到根因节点。
对于每条调用链数据,实时构建span流程图,具体包括:
3.1.1)根据该条调用链中每个span里的parent_id和span_id之间的对应关系,构建span_id之间的调用关系拓扑,其中开始节点是parent_id为None所对应的span_id;
3.1.2)上述一条调用链的span_id之间的调用关系拓扑即为该调用链的span流程图。
对于每条调用链数据,计算除了根节点外的每个节点的异常分,具体包括:
3.2.1)计算得到
Figure 690283DEST_PATH_IMAGE005
:当前节点的error值为1时,则
Figure 177896DEST_PATH_IMAGE005
记为1,否则记为0;
3.2.2)计算得到
Figure 528106DEST_PATH_IMAGE006
:当前节点的duration在父节点的duration中占比超过预设阈值
Figure 759367DEST_PATH_IMAGE007
,则
Figure 144212DEST_PATH_IMAGE006
记为1,否则记为0,其中
Figure 537147DEST_PATH_IMAGE007
通常为0.5~1(优选为0.5);
3.2.3)计算得到
Figure 905812DEST_PATH_IMAGE008
:当前节点的父节点的duration与其所有子节点的duration之差在该父节点的duration中占比超过预设阈值
Figure 675185DEST_PATH_IMAGE009
,则
Figure 180115DEST_PATH_IMAGE008
记为1,否则记为0,其中
Figure 6601DEST_PATH_IMAGE009
通常为0.5~1(优选为0.5);
3.2.4)合并上述三个异常分
Figure 596983DEST_PATH_IMAGE005
Figure 435626DEST_PATH_IMAGE006
Figure 795063DEST_PATH_IMAGE008
得到该节点的异常分,即该节点异常分
Figure 795380DEST_PATH_IMAGE010
,其中
Figure 607478DEST_PATH_IMAGE011
通常为0~3(优选为2),
Figure 249812DEST_PATH_IMAGE012
通常为0~3(优选为1),
Figure 463756DEST_PATH_IMAGE013
通常为0~3(优选为0.5),则该节点对应的service_id,process_id,host_id的异常分均为
Figure 900553DEST_PATH_IMAGE014
汇聚异常时间段所有span流程图构建服务拓扑图、进程拓扑图和主机拓扑图,具体步骤如下:
3.3.1)对于一条调用链的span流程图,根节点所在的深度数值设为0,其子节点所在的深度数值为1,即子节点的深度是在父节点的深度数值上加1,其中如果有多个并列的子节点,则这些子节点享有相同的深度数值;
3.3.2)汇聚异常时间段内的所有span流程图,对于深度数值相同且service_id相同的节点合并为一个节点,由此构建了异常时间段内的服务拓扑图,服务拓扑图上的每个节点用该service_id表示;
3.3.3)同理,构建异常时间段内深度数值相同的进程拓扑图和主机拓扑图,拓扑图中的每个节点分别用对应的process_id和host_id表示。
基于进程拓扑图和主机拓扑图根据计算确定故障根因节点,具体包括:
3.4.1)将异常分根据深度数值和process_id汇聚到进程拓扑图中,将异常分根据深度数值和host_id汇聚到主机拓扑图中,由此得到进程拓扑图和主机拓扑图中各个节点的异常分;
3.4.2)按照深度数值从大到小的顺序排序,在同一深度数值下,按照先进程拓扑图再主机拓扑图的顺序,定位到故障根因节点。
步骤3.4.2)中,具体包括:
3.4.2.1)先检测最大深度数值
Figure 199948DEST_PATH_IMAGE015
下进程拓扑图中对应的所有节点,如果某个节点的异常分在该深度数值下所有节点的异常分之和中占比超过预设阈值
Figure 380393DEST_PATH_IMAGE016
,则根因节点为该进程节点所对应的process_id,即为故障根因节点,如果没有,则进入步骤3.4.2.2);
阈值
Figure 448843DEST_PATH_IMAGE016
为0.5~1,优选为0.7;
3.4.2.2)检测
Figure 56542DEST_PATH_IMAGE015
下主机拓扑图中对应的所有节点,如果某个节点的异常分在该深度数值下所有节点的异常分之和中占比超过预设阈值
Figure 840303DEST_PATH_IMAGE016
,则根因节点为该主机节点所对应的host_id,即为故障根因节点,如果没有,则进入步骤3.4.2.3);
3.4.2.3)在
Figure 293281DEST_PATH_IMAGE017
的深度下,重新进入步骤3.4.2.1),直至定位到故障根因节点。
与现有技术相比,本发明具有如下优点:
现有的技术方案中,需要CMDB数据或者TCP/IP数据来构建主机层面的拓扑关系,无法适应微服务系统中主机之间动态变化的连接关系,该类数据没有进程信息、服务信息,无法定位更准确,即不能准确定位到主机上具体哪个进程、哪个服务的故障。本发明获取到的调用链数据,不仅能动态构建主机层面的拓扑关系,还能动态构建进程层面的拓扑关系以及服务层面的拓扑关系,为更准确的根因定位提供了数据保障;
现有的技术方案中,利用告警信息进行根因定位,需要基于大量的历史告警数据进行学习训练,不仅在定位系统部署的初期阶段无法准确定位,而且也无法适应微服务系统的动态变化问题。本发明利用无监督算法,实时分析异常时间段的调用链数据,无需训练数据和标签;
现有的技术方案中,基于业务指标发现异常时间段,只用到了平均耗时和错误率。实际上,调用数也是个很重要的反应整体调用是否异常的业务指标,需要实时检测。本发明用90%分位点耗时和50%分位点耗时代替平均耗时,考虑到使用平均耗时指标可能会使得部分耗时异常高的调用被平均掉。
本发明的有益效果总结如下:
1、实时性:拓扑图是实时自动构建的,无需人工处理;异常检测和根因定位的速度都是毫秒级满足了实时性的要求;
2、适应性:由于实时构建的拓扑关系,使得该定位系统能适应任何不断变化的微服务系统,具有极强的适应性;
3、低开销:仅对异常时间段内的调用链数据进行根因分析,资源开销极小;
4、更准确:在实际生产环境中测试下来,80个故障时间段内定位到根因节点的准确率接近99%;
5、无监督:全部流程中,无论是业务指标的异常检测还是节点根因定位都使用无监督算法,无需准备训练数据和标签。
附图说明
图1是微服务系统的故障根因定位流程图。
图2是业务指标构建和异常检测流程图。
图3是节点定位的具体流程图。
具体实施方式
本发明是为了解决微服务系统中出现故障时,能准确定位到根因节点,提出了一种微服务系统的故障根因定位方法。如图1所示,本发明实时获取微服务系统中的调用链数据,将调用链数据转换为四个业务指标并实时监测,当发现异常时,利用异常时间段内的调用链构建服务拓扑图、进程拓扑图和主机拓扑图,并计算拓扑图上每个节点的异常分,最终按照深度从大到小、先进程后主机的顺序定位到根因节点,即进程节点或主机节点。
一种微服务系统的故障根因定位方法,包括以下步骤,进行进一步说明。
一、实时采集微服务系统中产生的全量调用链数据。
1.每一条调用链数据表示一次完整的服务调用,包括失败的调用链,以嵌套JSON的格式存储在Elasticsearch数据库中。
2.每一条嵌套JSON格式的调用链数据都包含traceID和spans。其中,traceID由一串数字组成,是用于区别其它条调用链的唯一键。spans是由多个span组成的列表类型的数据,每个span表示其中的一次服务调用。
3.每个span都存储为JSON格式,其中最主要的属性有span_id,parent_id,start,duration,service_id,process_id,host_id,error。其中,span_id表示该次调用的编号,即该span的唯一键;parent_id表示该次调用的父调用的编号,即调用该span的父span的span_id,如果该次调用为根节点,则parent_id为None;start表示该次调用的发起时间;duration为该次调用的耗时;service_id、process_id、host_id分别表示该次调用所在的服务编号、进程编号、主机编号;error等于0或1,表示该次调用是否失败。
二、基于全量调用链数据,实时统计业务指标,利用异常检测算法判断业务指标是否异常,并确定对应的异常时间段,如图2所示,统计业务指标包括:调用次数
Figure 747396DEST_PATH_IMAGE001
、错误率
Figure 260417DEST_PATH_IMAGE002
、90%分位点的耗时
Figure 799983DEST_PATH_IMAGE003
,50%分位点的耗时
Figure 56652DEST_PATH_IMAGE004
四个业务指标。
1.对于全量调用链数据,根据根节点对应的服务编号进行聚合,即根据每一条完整调用链中parent_id为None的span所对应的service_id进行聚合,聚合后的每类调用链数据用该service_id表示。
2.我们对其中一类调用链数据进行实时统计,每隔
Figure 365273DEST_PATH_IMAGE018
秒统计前
Figure 49196DEST_PATH_IMAGE018
秒内的调用次数
Figure 810478DEST_PATH_IMAGE001
、错误率
Figure 870838DEST_PATH_IMAGE002
、90%分位点的耗时
Figure 33966DEST_PATH_IMAGE003
,50%分位点的耗时
Figure 888790DEST_PATH_IMAGE004
四个业务指标,其中
Figure 134439DEST_PATH_IMAGE018
通常为60;
1)统计
Figure 998490DEST_PATH_IMAGE018
秒内的调用链数量即为
Figure 16124DEST_PATH_IMAGE001
2)对于每条调用链,其中有span对应的error值为1的调用链,其数量总共有
Figure 307428DEST_PATH_IMAGE019
条,我们可以得到错误率指标
Figure 43303DEST_PATH_IMAGE020
3)对于每条调用链,parent_id为None的span对应的duration为该条调用链的耗时,我们得到
Figure 445466DEST_PATH_IMAGE018
秒内
Figure 317607DEST_PATH_IMAGE001
个耗时数值,按照从小到大排序,我们得到90%分位点的耗时指标
Figure 779812DEST_PATH_IMAGE003
和50%分位点的耗时指标
Figure 737404DEST_PATH_IMAGE004
3.分别对上述四个业务指标应用异常检测算法,任何一个指标检测到异常时,均表示对应时间段内异常,异常时间段记为
Figure 943257DEST_PATH_IMAGE021
1)对于错误率指标
Figure 669905DEST_PATH_IMAGE002
,90%分位点的耗时指标
Figure 303011DEST_PATH_IMAGE003
和50%分位点的耗时指标
Figure 747899DEST_PATH_IMAGE004
,应用箱线图异常检测算法;
2)对于调用次数指标
Figure 488935DEST_PATH_IMAGE001
,先进行一阶差分计算,然后对差分后的结果应用箱线图异常检测算法。
三、如图3所示,获取异常时间段内对应的所有调用链数据。对于每条调用链数据,实时构建span流程图。汇聚所有span流程图即可构建服务拓扑图、进程拓扑图和主机拓扑图。基于拓扑图应用根因定位算法确定进程或主机层面的最细粒度的故障根因节点。
1.对每条调用链,实时构建span流程图。具体方法如下:
1)根据该条调用链中每个span里的parent_id和span_id之间的对应关系,构建span_id之间的调用关系拓扑,其中开始节点是parent_id为None所对应的span_id;
2)上述一条调用链的span_id之间的调用关系拓扑即为该调用链的span流程图。
2.汇聚
Figure 601247DEST_PATH_IMAGE021
时间段内的所有span流程图,即可构建服务拓扑图、进程拓扑图和主机拓扑图。具体步骤如下:
1)对于一条span流程图,根节点所在的深度我们设为0,其子节点所在的深度为1,即子节点的深度是在父节点的深度数值上加1。其中如果有多个并列的子节点,则这些子节点享有相同的深度数值;
2)汇聚
Figure 139676DEST_PATH_IMAGE021
时间段内的所有span流程图,我们用service_id代替span_id,深度相同且service_id相同的服务节点合并为一个节点,由此构建了
Figure 337439DEST_PATH_IMAGE021
时间段内的服务拓扑图,服务拓扑图上的每个节点用service_id表示;
3)同理,我们还可以构建
Figure 619516DEST_PATH_IMAGE021
时间段内深度相同的进程拓扑图和主机拓扑图,拓扑图中的每个节点分别用process_id和host_id表示。
3.对于异常时间段内的单个调用链,我们可以计算得到除了根节点外的每个节点的异常分,具体步骤如下:
1)计算得到
Figure 320755DEST_PATH_IMAGE005
,当前节点的error值为1时,则
Figure 295665DEST_PATH_IMAGE006
记为1,否则记为0;
2)计算得到
Figure 715145DEST_PATH_IMAGE006
,当前节点的duration在父节点的duration中占比超过预设阈值
Figure 800912DEST_PATH_IMAGE007
,则
Figure 622238DEST_PATH_IMAGE006
记为1,否则记为0,其中
Figure 768048DEST_PATH_IMAGE007
通常为0.5;
3)计算得到
Figure 674825DEST_PATH_IMAGE008
,当前节点的父节点的duration与其所有子节点的duration之差在该父节点的duration中占比超过预设阈值
Figure 319212DEST_PATH_IMAGE009
,则
Figure 995044DEST_PATH_IMAGE008
记为1,否则记为0,其中
Figure 311756DEST_PATH_IMAGE009
通常为0.5;
4)合并上述三个异常分得到该节点的异常分,即该节点异常分
Figure 440249DEST_PATH_IMAGE010
,其中
Figure 867819DEST_PATH_IMAGE011
通常为2,
Figure 663737DEST_PATH_IMAGE012
通常为1,
Figure 151350DEST_PATH_IMAGE013
通常为0.5,则该节点对应的service_id,process_id,host_id的异常分均为
Figure 767139DEST_PATH_IMAGE014
4.计算得到
Figure 732821DEST_PATH_IMAGE021
时间段内每条调用链的非根结点的异常分,并将这些异常分根据深度和process_id(host_id)汇聚到进程拓扑图(主机拓扑图)中,汇聚方法为简单求和。由此得到进程拓扑图和主机拓扑图中各个节点的异常分。
5.按照深度数值从大到小的顺序检测根因节点,在同一深度下,按照先进程拓扑图再主机拓扑图的顺序检测根因节点,具体步骤如下:
1)先检测最大深度
Figure 383245DEST_PATH_IMAGE015
下进程拓扑图中对应的所有节点,如果某个节点的异常分在该深度下所有节点的异常分之和中占比超过预设阈值
Figure 41759DEST_PATH_IMAGE009
,则根因节点为该进程节点所对应的process_id;
2)如果没有,则继续检测
Figure 410424DEST_PATH_IMAGE015
下主机拓扑图中的所有节点,如果某个节点的异常分在该深度下所有节点的异常分之和中占比超过预设阈值
Figure 176867DEST_PATH_IMAGE009
,则根因节点为该进程节点所对应的host_id;
3)如果上述两步都没有检测到根因节点,则在
Figure 681798DEST_PATH_IMAGE017
的深度下,重复上述两个步骤,直至定位到根因节点。
本发明获取到的调用链数据,不仅能动态构建主机层面的拓扑关系,还能动态构建进程层面的拓扑关系以及服务层面的拓扑关系,为更准确的根因定位提供了数据保障。本发明利用无监督算法,实时分析异常时间段的调用链数据,无需训练数据和标签。本发明用90%分位点耗时和50%分位点耗时代替平均耗时,考虑到使用平均耗时指标可能会使得部分耗时异常高的调用被平均掉。

Claims (7)

1.一种微服务系统的故障根因定位方法,其特征在于,包括以下步骤:
1)实时采集微服务系统中产生的全量调用链数据;
全量调用链数据的每一条调用链包括span_id,parent_id,duration,service_id,process_id,host_id,error;
其中,span_id表示该次调用的编号;parent_id表示该次调用的父调用的编号,如果该次调用为根节点,则parent_id为None;duration为该次调用的耗时;service_id表示该节点对应的服务编号;process_id表示该节点对应的进程编号;host_id表示该节点对应的主机编号;error等于0或1,表示该次调用是否失败;
2)基于全量调用链数据,实时统计业务指标,利用异常检测算法判断业务指标是否异常,并确定对应的异常时间段;
3)获取异常时间段内对应的所有调用链数据,对于每条调用链数据,实时构建span流程图并计算除了根节点外的每个节点的异常分,汇聚异常时间段所有span流程图构建服务拓扑图、进程拓扑图和主机拓扑图,基于进程拓扑图和主机拓扑图根据计算确定故障根因节点;
汇聚异常时间段所有span流程图构建服务拓扑图、进程拓扑图和主机拓扑图,具体包括:
3.3.1)对于一条调用链的span流程图,根节点所在的深度数值设为0,其子节点所在的深度数值为1,即子节点的深度是在父节点的深度数值上加1,其中如果有多个并列的子节点,则这些子节点享有相同的深度数值;
3.3.2)汇聚异常时间段内的所有span流程图,对于深度数值相同且service_id相同的节点合并为一个节点,并用该service_id表示此节点,由此构建了异常时间段内的服务拓扑图;
3.3.3)构建异常时间段内的进程拓扑图和主机拓扑图,拓扑图中的每个节点分别用process_id和host_id表示;
基于进程拓扑图和主机拓扑图根据计算确定故障根因节点,具体包括:
3.4.1)将异常分根据深度数值和process_id汇聚到进程拓扑图中,将异常分根据深度数值和host_id汇聚到主机拓扑图中,由此得到进程拓扑图和主机拓扑图中各个节点的异常分;
3.4.2)按照深度数值从大到小的顺序排序,在同一深度数值下,按照先进程拓扑图再主机拓扑图的顺序,定位到故障根因节点。
2.根据权利要求1所述的微服务系统的故障根因定位方法,其特征在于,步骤2)中,所述的统计业务指标包括:
调用次数
Figure 410791DEST_PATH_IMAGE001
、错误率
Figure 615202DEST_PATH_IMAGE002
、90%分位点的耗时
Figure 387986DEST_PATH_IMAGE003
,50%分位点的耗时
Figure 194268DEST_PATH_IMAGE004
四个业务指标。
3.根据权利要求1所述的微服务系统的故障根因定位方法,其特征在于,步骤3)中,对于每条调用链数据,实时构建span流程图,具体包括:
3.1.1)根据该条调用链中每个span里的parent_id和span_id之间的对应关系,构建span_id之间的调用关系拓扑,其中开始节点是parent_id为None所对应的span_id;
3.1.2)一条调用链的span_id之间的调用关系拓扑即为该调用链的span流程图。
4.根据权利要求1所述的微服务系统的故障根因定位方法,其特征在于,步骤3)中,对于每条调用链数据,计算除了根节点外的每个节点的异常分,具体包括:
3.2.1)计算得到
Figure 572160DEST_PATH_IMAGE005
:当前节点的error值为1时,则
Figure 438485DEST_PATH_IMAGE005
记为1,否则记为0;
3.2.2)计算得到
Figure 714876DEST_PATH_IMAGE006
:当前节点的duration在父节点的duration中占比超过预设阈值
Figure 324849DEST_PATH_IMAGE007
,则
Figure 353985DEST_PATH_IMAGE006
记为1,否则记为0;
3.2.3)计算得到
Figure 860053DEST_PATH_IMAGE008
:当前节点的父节点的duration与其所有子节点的duration之差在该父节点的duration中占比超过预设阈值
Figure 341850DEST_PATH_IMAGE009
,则
Figure 270360DEST_PATH_IMAGE008
记为1,否则记为0;
3.2.4)合并上述三个异常分
Figure 154003DEST_PATH_IMAGE005
Figure 830972DEST_PATH_IMAGE006
Figure 800065DEST_PATH_IMAGE008
得到该节点的异常分,即该节点异常分
Figure 751840DEST_PATH_IMAGE010
,其中
Figure 771880DEST_PATH_IMAGE011
为0~3,
Figure 416488DEST_PATH_IMAGE012
为0~3,
Figure 76140DEST_PATH_IMAGE013
为0~3,则该节点对应的service_id,process_id,host_id的异常分均为
Figure 831606DEST_PATH_IMAGE014
5.根据权利要求4所述的微服务系统的故障根因定位方法,其特征在于,步骤3.2.2)中,
Figure 689840DEST_PATH_IMAGE007
为0.5~1;
步骤3.2.3)中,
Figure 708612DEST_PATH_IMAGE009
为0.5~1。
6.根据权利要求1所述的微服务系统的故障根因定位方法,其特征在于,步骤3.4.2)中,具体包括:
3.4.2.1)先检测最大深度数值
Figure 901565DEST_PATH_IMAGE015
下进程拓扑图中对应的所有节点,如果某个节点的异常分在该深度数值下所有节点的异常分之和中占比超过预设阈值
Figure 460722DEST_PATH_IMAGE016
,则根因节点为该进程节点所对应的process_id,即为故障根因节点,如果没有,则进入步骤3.4.2.2);
3.4.2.2)检测
Figure 439043DEST_PATH_IMAGE015
下主机拓扑图中对应的所有节点,如果某个节点的异常分在该深度数值下所有节点的异常分之和中占比超过预设阈值
Figure 159874DEST_PATH_IMAGE016
,则根因节点为该主机节点所对应的host_id,即为故障根因节点,如果没有,则进入步骤3.4.2.3);
3.4.2.3)在
Figure 794118DEST_PATH_IMAGE017
的深度下,重新进入步骤3.4.2.1),直至定位到故障根因节点。
7.根据权利要求6所述的微服务系统的故障根因定位方法,其特征在于,步骤3.4.2.1)中,阈值
Figure 642119DEST_PATH_IMAGE016
为0.5~1。
CN202210007248.5A 2022-01-06 2022-01-06 一种微服务系统的故障根因定位方法 Active CN114024837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210007248.5A CN114024837B (zh) 2022-01-06 2022-01-06 一种微服务系统的故障根因定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210007248.5A CN114024837B (zh) 2022-01-06 2022-01-06 一种微服务系统的故障根因定位方法

Publications (2)

Publication Number Publication Date
CN114024837A CN114024837A (zh) 2022-02-08
CN114024837B true CN114024837B (zh) 2022-04-05

Family

ID=80069631

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210007248.5A Active CN114024837B (zh) 2022-01-06 2022-01-06 一种微服务系统的故障根因定位方法

Country Status (1)

Country Link
CN (1) CN114024837B (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114844768A (zh) * 2022-04-27 2022-08-02 广州亚信技术有限公司 信息分析方法、装置及电子设备
CN114553709B (zh) * 2022-04-28 2022-08-23 恒生电子股份有限公司 拓扑关系展示方法及相关设备
CN115118574B (zh) * 2022-06-07 2023-07-21 马上消费金融股份有限公司 一种数据处理方法、装置及存储介质
CN115296978B (zh) * 2022-07-06 2023-09-12 北京三快在线科技有限公司 根因定位方法、装置、设备
CN115333921B (zh) * 2022-08-20 2024-03-29 海南大学 微服务异常根因定位方法及装置
CN115514617A (zh) * 2022-09-13 2022-12-23 上海驻云信息科技有限公司 一种通用的异常根因定位及分析方法及装置
CN115687406B (zh) * 2022-11-07 2023-08-01 北京优特捷信息技术有限公司 一种调用链数据的采样方法、装置、设备及存储介质
CN116471213B (zh) * 2023-06-09 2023-09-15 北京随信云链科技有限公司 链路追踪方法、链路追踪系统及介质
CN116820826B (zh) * 2023-08-28 2023-11-24 北京必示科技有限公司 一种基于调用链的根因定位方法、装置、设备及存储介质
CN116827765B (zh) * 2023-08-31 2023-11-21 广州嘉为科技有限公司 一种根因定位方法、装置、设备及存储介质
CN117112282B (zh) * 2023-10-23 2024-03-22 畅捷通信息技术股份有限公司 一种微服务调用链的异常智能定位方法、装置及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933452A (zh) * 2019-03-22 2019-06-25 中国科学院软件研究所 一种面向异常传播的微服务智能监测方法
CN110888755A (zh) * 2019-11-15 2020-03-17 亚信科技(中国)有限公司 一种微服务系统异常根因节点的查找方法及装置
CN112631880A (zh) * 2019-10-08 2021-04-09 中国移动通信集团浙江有限公司 基于调用链的性能分析方法及装置
CN113467421A (zh) * 2021-07-01 2021-10-01 中国科学院计算技术研究所 获取微服务健康状态指标的方法和微服务异常诊断方法
WO2021217855A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 异常根因定位方法、装置、电子设备及存储介质
WO2021217865A1 (zh) * 2020-04-29 2021-11-04 平安科技(深圳)有限公司 告警根因的定位方法、装置、计算机设备和存储介质
CN113657715A (zh) * 2021-07-15 2021-11-16 福建新大陆软件工程有限公司 一种基于核密度估计调用链的根因定位方法及系统

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112698975B (zh) * 2020-12-14 2022-09-27 北京大学 一种微服务架构信息系统的故障根因定位方法及系统
CN113190373B (zh) * 2021-05-31 2022-04-05 中国人民解放军国防科技大学 一种基于故障特征比较的微服务系统故障根因定位方法
CN113360361B (zh) * 2021-08-11 2021-11-23 云智慧(北京)科技有限公司 一种分布式运维模拟系统的构建方法、装置及设备

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109933452A (zh) * 2019-03-22 2019-06-25 中国科学院软件研究所 一种面向异常传播的微服务智能监测方法
CN112631880A (zh) * 2019-10-08 2021-04-09 中国移动通信集团浙江有限公司 基于调用链的性能分析方法及装置
CN110888755A (zh) * 2019-11-15 2020-03-17 亚信科技(中国)有限公司 一种微服务系统异常根因节点的查找方法及装置
WO2021217865A1 (zh) * 2020-04-29 2021-11-04 平安科技(深圳)有限公司 告警根因的定位方法、装置、计算机设备和存储介质
WO2021217855A1 (zh) * 2020-04-30 2021-11-04 平安科技(深圳)有限公司 异常根因定位方法、装置、电子设备及存储介质
CN113467421A (zh) * 2021-07-01 2021-10-01 中国科学院计算技术研究所 获取微服务健康状态指标的方法和微服务异常诊断方法
CN113657715A (zh) * 2021-07-15 2021-11-16 福建新大陆软件工程有限公司 一种基于核密度估计调用链的根因定位方法及系统

Also Published As

Publication number Publication date
CN114024837A (zh) 2022-02-08

Similar Documents

Publication Publication Date Title
CN114024837B (zh) 一种微服务系统的故障根因定位方法
CN108833184B (zh) 服务故障定位方法、装置、计算机设备及存储介质
KR101021411B1 (ko) 처리 과정 모니터링 방법, 비정상성 탐지 방법, 컴퓨터 판독 기록 매체, 시그너쳐 생성 방법, 비정상 활동 탐지 시스템, 처리 과정 모니터링 시스템, 및 비정상 활동의 구별 방법
US8095830B1 (en) Diagnosis of system health with event logs
US6965845B2 (en) Method and apparatus for system management using codebook correlation with symptom exclusion
US20100306597A1 (en) Automated identification of performance crisis
EP2963552B1 (en) System analysis device and system analysis method
CN113516174B (zh) 调用链异常检测方法、计算机设备以及可读存储介质
CN111913824B (zh) 确定数据链路故障原因的方法及相关设备
US9417940B2 (en) Operations management system, operations management method and program thereof
CN111176953A (zh) 一种异常检测及其模型训练方法、计算机设备和存储介质
CN109783324A (zh) 系统运行预警方法及装置
WO2019041870A1 (zh) 实现故障原因定位的方法、装置及存储介质
CN115357418A (zh) 微服务故障检测方法、装置、存储介质及计算机设备
CN115237717A (zh) 一种微服务异常检测方法和系统
CN113986595A (zh) 一种异常定位方法及装置
CN112769605A (zh) 一种异构多云的运维管理方法及混合云平台
CN115576738A (zh) 一种基于芯片分析实现设备故障确定的方法及系统
CN113098912B (zh) 用户账户异常的识别方法、装置、电子设备及存储介质
CN106878109A (zh) 服务器检测方法及服务器系统
US10157113B2 (en) Information processing device, analysis method, and recording medium
CN108521346B (zh) 一种基于终端数据的电信承载网异常节点定位方法
US11815989B2 (en) Automated methods and systems for identifying problems in data center objects
CN116232851A (zh) 一种网络异常的预警方法、装置、电子设备和存储介质
CN114531338A (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
CB02 Change of applicant information

Address after: 310000 Room 401, building 1, 1399 liangmu Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant after: Hangzhou Chengyun Digital Technology Co.,Ltd.

Address before: 310000 Room 401, building 1, 1399 liangmu Road, Cangqian street, Yuhang District, Hangzhou City, Zhejiang Province

Applicant before: Hangzhou Dacheng Intelligent Technology Co.,Ltd.

CB02 Change of applicant information
GR01 Patent grant
GR01 Patent grant
EE01 Entry into force of recordation of patent licensing contract

Application publication date: 20220208

Assignee: Suzhou Heyu Finance Leasing Co.,Ltd.

Assignor: Hangzhou Chengyun Digital Technology Co.,Ltd.

Contract record no.: X2023980047704

Denomination of invention: A Fault Root Cause Localization Method for Microservice Systems

Granted publication date: 20220405

License type: Exclusive License

Record date: 20231121

EE01 Entry into force of recordation of patent licensing contract
PE01 Entry into force of the registration of the contract for pledge of patent right

Denomination of invention: A Fault Root Cause Localization Method for Microservice Systems

Effective date of registration: 20231124

Granted publication date: 20220405

Pledgee: Suzhou Heyu Finance Leasing Co.,Ltd.

Pledgor: Hangzhou Chengyun Digital Technology Co.,Ltd.

Registration number: Y2023980067019

PE01 Entry into force of the registration of the contract for pledge of patent right