CN114003466A - 一种用于微服务应用程序的故障根因定位方法 - Google Patents

一种用于微服务应用程序的故障根因定位方法 Download PDF

Info

Publication number
CN114003466A
CN114003466A CN202111310631.XA CN202111310631A CN114003466A CN 114003466 A CN114003466 A CN 114003466A CN 202111310631 A CN202111310631 A CN 202111310631A CN 114003466 A CN114003466 A CN 114003466A
Authority
CN
China
Prior art keywords
time
fault
data
root cause
network element
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.)
Pending
Application number
CN202111310631.XA
Other languages
English (en)
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.)
Nanjing University
Original Assignee
Nanjing University
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 Nanjing University filed Critical Nanjing University
Priority to CN202111310631.XA priority Critical patent/CN114003466A/zh
Publication of CN114003466A publication Critical patent/CN114003466A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/243Classification techniques relating to the number of classes
    • G06F18/24323Tree-organised classifiers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/25Fusion techniques
    • G06F18/253Fusion techniques of extracted features
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/805Real-time
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/81Threshold
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2201/00Indexing scheme relating to error detection, to error correction, and to monitoring
    • G06F2201/865Monitoring of software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Artificial Intelligence (AREA)
  • Computing Systems (AREA)
  • Evolutionary Biology (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Quality & Reliability (AREA)
  • Medical Informatics (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供了一种用于微服务应用程序的故障根因定位方法,包括:步骤1,通过调用接口的方式从监控系统中每隔一段时间进行各种指标数据信息的采集;步骤2,对获取到的sKPI时间序列数据的有效性进行检验,如果检验为无效数据,则剔除该时间点数据或者重新获取数据;如果检测为有效数据,则进入步骤3;步骤3,使用基于核函数的异常检测器EXPoSE在线检测ESB的sKPI异常,并获得故障的发生时间T_fault;步骤4,计算网元节点间调用耗时的推土机(wasserstein)距离,提取mKPI的突变特征;步骤5,利用随机森林关联模型预测根因节点和根因mKPI。

Description

一种用于微服务应用程序的故障根因定位方法
技术领域
本发明涉及故障根因定位技术领域,尤其涉及一种用于微服务应用程序的故障根因定位方法。
背景技术
为了保证微服务系统的可靠性,监控系统会定期收集两类指标。服务级指标sKPI,如调用耗时;机器级性能指标mKPI,如CPU使用率、网络发送队列等指标。这些监控指标有助于工程师在系统发生故障时诊断性能并定位故障根本原因。真实场景下故障根本原因定位是困难的。由于微服务系统模块众多,系统的组件之间有复杂的相互作用,并且微服务系统有多种不同的故障原因,可以分为外部故障和内部故障。前者包括硬件故障、网络崩溃、资源占用过载等,后者主要是指软件故障。
参见图1,图中给出的是传统的用于微服务故障根因定位方法,包括以下步骤:1.通过3-sigma(数据在μ-3σ,μ+3σ之外,σ代表标准差,μ代表均值)检验单一的sKPI序列来确定故障时间T_fault;2.判断在T_fault附近是否为数据库(db)错误,若是则输出db故障网元和故障指标;3.判断调用类型(callType),如果是远程调用则输出序号1-10的操作系统(OS)类型故障网元和故障指标;4.判断是否为容器的CPU类型故障,若是则输出docker类型故障,否则输出序号11-16的OS类型网元和故障指标。现有的根因定位方法主要基于运维人员的经验和阈值法,还有一些基于历史数据的聚类深度学习的方法,耗时较长且无法自适应系统变化,还有一些方法只能进行粗粒度网元的根因定位,传统方法中网元节点下个机器指标mKPI相互影响会导致的对故障根因KPI的判断的假阳率(FPrate)过高。
发明内容
发明目的:本发明的目的是对微服务系统提供自动故障检测和根因定位的方案,并对该方案提供合理的解释性。该发明实时检测,提高了检测速度,并且检测粒度更细。
本发明所要解决的技术问题可以采用如下技术方案来实现:
一种用于微服务应用程序的故障根因定位方法(微服务架构已经被广大互联网公司采用,它由许多分散在多台机器上并通过网络进行通信的独立应用程序组成。一次用户操作会涉及部署在不同网络节点的多个微服务,产生复杂的调用关系),包括以下步骤:
步骤1,通过调用接口的方式从监控系统中每隔时间X(一般取值为1min)进行各种指标数据信息的采集,所述不同指标数据信息包括总体服务级指标sKPI,网元节点之间调用耗时数据Mi,j(r),以及机器级性能指标数据mKPI;
步骤2,通过hive聚集统计系统总体服务级指标sKPI,如1min内服务平均时延,平均调用次数等时间序列数据,对当前t时刻数据进行实时有效性检验,如果检验为无效数据,则剔除当前t时刻数据或者重新获取数据,得到t时刻总体服务级指标sKPI的取值向量xt;如果检测为有效数据,则保存数据xt,进入步骤3;
步骤3,使用基于核函数的异常检测器EXPoSE在线检测系统总线所有服务级指标sKPI异常,并获得故障的发生时间Tfault
步骤4,计算网元节点间调用耗时的推土机(wasserstein)距离,提取机器性能级别(mKPI)的突变特征;距离越高表示节点在故障前后的状态变化明显,因此越有可能是故障。这一步骤可以初步得出故障节点。突变特征包括了每条时间序列的突变点,突变梯度,突变时间,误报系数等特征。一般越早发生的突变越可能是根因序列。
步骤5,利用随机森林关联模型预测故障根因节点和根因mKPI。机器级性能指标数据mKPI是一个序列,根因mKPI就是指的在所有机器级性能指标数据mKPI里出现故障的那条序列。
步骤3包括:
通过以下公式计算异常分数st
Figure BDA0003337414140000021
Figure BDA0003337414140000022
是对xt进行特征映射,所有映射都是基于高斯核函数(rbf sampler)。
μ[Pt]是核均值映射,将正常数据的概率分布嵌入到再生核希尔伯特空间中,
Figure BDA0003337414140000023
用经验分布来近似均值。
根据得到的异常分数,设定阈值θ,当t和t+1时刻的异常分数均大于阈值θ,则判断t时刻为故障发生时刻。当然这个具体的阈值可以根据业务情况来设置,本案例采取的是0.1,因为其他正常情况下异常分数基本小于0.01。
步骤4中,采用如下方法计算网元节点的推土机距离:
每次预测到故障发生时间Tfault后,开始计算:
设置t=Tfault,设置窗口w,对于网元节点i和j:
对所有x设置
Figure BDA0003337414140000031
其中,x表示故障时间t之前的时间窗内网元节点之间耗时数据Mi,j(r),x是随机变量;r是故障时间t前时间窗的开始时间;
Figure BDA0003337414140000032
表示网元节点耗时随机变量的分布;
Figure BDA0003337414140000033
表示随机变量x的指示函数;
Figure BDA0003337414140000034
Figure BDA0003337414140000035
表示故障后时间窗内节点耗时的分布情况;
计算网元节点i、j间的推土机距离si,j(Tfault):
Figure BDA0003337414140000036
其中,Π(P,Q)表示所有可能的联合分布集合,联合分布满足边缘分布是P和Q;对于每个可能的联合分布r采样(x,y),计算距离并求得期望值
Figure BDA0003337414140000037
inf表示在所有可能的联合分布中这个期望值的下限;i∈N,j∈N,N为网元节点全集,并且i与j能够相同。x表示从分布
Figure BDA0003337414140000038
采样得到的网元节点耗时,y是从
Figure BDA0003337414140000039
采样得到的网元节点耗时。
步骤4中,所述提取机器性能级别特征的突变特征,具体包括:设置突变时间窗[Tfault-w1,Tfault+w2];
w1为后向时间窗长度,w2为前向时间窗长度,这个时间窗是mKPI最容易影响到sKPI变化的窗口部分;
设置
Figure BDA00033374141400000310
x表示机器级性能指标数据mKPI的值,x*表示归一化的值,
Figure BDA00033374141400000311
是突变时间窗内的均值std(x)是x的标准偏差;
每次t时刻,设置
Figure BDA0003337414140000041
Figure BDA0003337414140000042
表示t时刻的序列梯度值;
Figure BDA0003337414140000043
表示下一时刻归一化的值;
然后执行如下步骤:
步骤4-1:设置Ts=1,Ts为突变发生时间;
步骤4-2:遍历t=w2-1:w1(表示时间t从w1到w2),如果
Figure BDA0003337414140000044
设置Ts=t,退出循环;
步骤4-3结束循环后得到最早超出三倍标准差梯度的时刻Ts与梯度
Figure BDA0003337414140000045
Figure BDA0003337414140000046
为突变发生时刻的梯度。
步骤5包括:训练随机森林关联模型,利用集成学习方法自动学习故障节点和故障根因mKPI的判断规则;在实时判断根因的时候,将网元节点之间的推土机距离特征和机器性能级别特征的突变特征,输入随机森林关联模型,预测故障根因节点和根因。
步骤5中,根据如下公式预测故障根因节点H1(x):
Figure BDA0003337414140000047
其中x是所有节点耗时分布特征,hi(x)表示调用节点耗时分布特征时每一颗训练好的决策树;
步骤5中,根据如下公式预测根因H2(y):
Figure BDA0003337414140000048
其中,y是所有机器级性能指标mKPI计算得到的突变特征和前面可能的故障根因节点H1(x),hi(y)表示调用除节点耗时分布特征外的其他特征(比如标准偏差,梯度值)时的每一颗训练好的决策树。因为故障根因节点H1(x)的类型会影响到根因mKPI的判断,比如数据库DB节点的故障会体现在DB的性能指标上。
在本发明的一个优选实施例中,采集指标数据信息包括系统总线服务平均调用耗时,33个节点的所有调用耗时数据,51种主机(0S)指标,46种数据库(DB)指标,9种容器(Docker)指标。主要有cpu使用率、网络请求数等等。本发明能够用于处理整个复杂系统中的上百维指标,并且能够将系统各个部分关联起来进行实时智能分析。
由于采用了如上技术方案,本发明的有益效果在于:该方法实现了微服务系统故障的实时检测并且能够迅速定位根因,时间复杂度低。引入了推土机距离(wasserstein距离)来对故障节点的异常程度进行量化并初步找出故障的网元节点。同时,该方法通过对每个节点机器级性能指标的突变特征的提取来定位根因指标,完成了降低假阳率提高准确率的挑战。该方法同传统方法比较效果卓群,F1值高达0.833远超过传统方法的0.506。
附图说明
下面结合附图和具体实施方式对本发明做更进一步的具体说明,本发明的上述和/或其他方面的优点将会变得更加清楚。
图1是传统的用于微服务的故障根因定位方法的流程示意图。
图2是本发明的用于微服务的故障根因定位方法的流程示意图。
图3是基于随机森林的三种模型架构示意图。
具体实施方式
本发明提供了一种用于微服务应用程序的故障根因定位方法,包括以下步骤:
步骤1,通过调用接口聚集计算方法从监控系统中每隔时间X(一般取值为1min)进行不同指标数据信息的采集;数据主要是服务级指标数据(sKPI),每1分钟服务平均时延,平均调用次数,平均响应时间,平均成功调用次数。机器级性能指标数据(mKPI)则有非常多数据,涉及主机指标(OS),数据库指标(DB),容器指标(Docker)。
步骤2,通过聚集统计系统总线(ESB)获取到总体服务级指标(sKPI),对当前t时刻数据进行实时有效性检验,数据格式是否为(t,value),如果检验为无效数据,则剔除当前t时刻数据或者重新获取数据;如果检测为有效数据,则进入步骤3;
步骤3,使用基于核函数的异常检测器EXPoSE在线检测系统总线所有服务级指标sKPI异常,进行打分,当分数连续两个时刻超过阈值(实验中选择阈值为0.1,因为一次检测器对平稳的正常数据打的分都很小,平均分为0.01),并获得故障的发生时间Tfault
步骤4,根据耗时分布计算网元节点的推土机距离(wasserstein),提取机器性能级别(mKPI)的突变特征;距离越高表示节点在故障前后的状态变化明显,因此越有可能是故障。这一步骤可以初步得出故障节点。突变特征包括了每条时间序列的突变点,突变梯度,突变时间,误报系数等特征。一般越早发生的突变越可能是根因序列。
步骤5,利用随机森林关联模型预测根因节点和根因mKPI。
步骤3包括:令xt表示t时刻所有服务级指标sKPI的取值向量;
通过以下公式计算异常分数st
Figure BDA0003337414140000061
Figure BDA0003337414140000062
是对xt进行特征映射,
Figure BDA0003337414140000063
通过RBFSampler近似;
μ[Pt]是核均值映射,将正常数据的概率分布嵌入到再生核希尔伯特空间中,
Figure BDA0003337414140000064
用经验分布来近似均值。设置RBFSampler核均值映射的相关参数为gamma=0.4,dimension=2000,decay=0.01。
根据得到的异常分数,设定阈值θ,当t和t+1时刻的异常分数均大于阈值θ,则判断t时刻为故障发生时刻。当然这个具体的阈值可以根据业务情况来设置,本案例采取的是0.1,因为其他正常情况下异常分数基本小于0.01。
步骤4中,采用如下方法计算网元节点的推土机距离:
每次预测到故障发生时间Tfault后,开始计算:
设置t=Tfault,设置窗口w,对于网元节点i和j:
对所有x设置
Figure BDA0003337414140000065
其中,x表示故障时间t之前的时间窗内网元节点耗时Mi,j(r)这个随机变量;r是故障时间t前时间窗的开始时间;
Figure BDA0003337414140000066
表示网元节点耗时随机变量的分布;
Figure BDA0003337414140000067
表示随机变量x的指示函数;
对所有x设置
Figure BDA0003337414140000068
Figure BDA0003337414140000069
表示故障后时间窗内节点耗时的分布情况;
计算网元节点i、j间的推土机距离si,j(Tfault):
Figure BDA00033374141400000610
其中,Π(P,Q)表示所有可能的联合分布集合,联合分布满足边缘分布是P和Q;对于每个可能的联合分布r采样(x,y),计算距离并求得期望值
Figure BDA00033374141400000611
inf表示在所有可能的联合分布中这个期望值的下限;i∈N,j∈N,N为网元节点全集,并且i与j能够相同。
步骤4中,所述提取机器性能级别特征的突变特征,具体包括:设置突变时间窗[Tfault-w1,Tfault+w2];
w1为后向时间窗长度,w2为前向时间窗长度,这个时间窗是mKPI最容易影响到sKPI变化的窗口部分;本发明的取值是w1 w2是+-1min,在另一实施例中这里取1min,10min也可以。
设置
Figure BDA0003337414140000071
x表示序列mKPI的值,x*表示归一化的值,
Figure BDA0003337414140000072
是突变时间窗内的均值std(x)是x的标准偏差;
每次t时刻,设置
Figure BDA0003337414140000073
Figure BDA0003337414140000074
表示t时刻的序列梯度值;
Figure BDA0003337414140000075
表示下一时刻归一化的值。
然后执行如下步骤:
步骤4-1:设置Ts=1,Ts为突变发生时间;
步骤4-2:遍历t=w2-1:w1时(表示w1从到w2),如果
Figure BDA0003337414140000076
设置Ts=t,退出循环;
步骤4-3结束循环后得到最早超出三倍标准差梯度的时刻Ts与梯度
Figure BDA0003337414140000077
Figure BDA0003337414140000078
为突变发生时刻的梯度。
步骤5包括:训练随机森林关联模型,利用集成学习方法自动学习故障节点和故障根因mKPI的判断规则;在实时判断根因的时候,将所有特征,即前面得到的网元节点之间的推土机距离特征和每个mKPI的突变特征,输入随机森林关联模型,分别预测故障根因节点和根因mKPI。随机森林模型最后参数为:随机森林树个数n estimators=600,树木最深深度限制max depth=6,每次构建每颗树采样选择的特征andmax faatures=5。
实施例
本发明提出了一种实时的根源定位方法——MicroRootLocator。异常检测器首先在线检测sKPI(service-level key performance indicator)的异常,并得出故障的开始时间。然后该算法新颖地计算了节点运行时间变化的wasserstein距离,并基于故障时间提取mKPI(machine-level key performance indicator combinations)的突变特征。最后,将所有特征输入到随机森林关联模型中,进行细粒度的根因预测。
参见图2,图中给出的是一种用于微服务应用程序的故障根因定位方法,包括以下步骤:
步骤S10,通过调用接口的方式从监控系统中每个一段时间进行不同指标数据信息的采集。采集数据包括sKPI系统总线服务平均调用耗时,33个节点的所有调用耗时数据(即sKPI),mKPI包括51种主机性能指标,46种数据库性能指标,9种容器性能指标。
步骤S20,对获取到的sKPI时间序列数据的有效性进行检验;若检验为无效数据,则剔除该时间点数据或者重新获取数据;若检测为有效数据,则进入步骤S30。
步骤S30使用基于核函数的异常检测器EXPoSE在线检测sKPI异常,并获得故障的起始时间T_fault。EXPoSE(EXPected Similarity Estimation)是一种实时检测sKPI异常的无监督异常检测器,此方法在固定时间和固定内存中快速对时间序列当前点计算异常分数。它以核函数为基础,对数据分布没有预先的假设。从实际应用上来看,该检测器比人工判断或规则判断更有效,并具有可解释性。
步骤S40,计算网元节点的wasserstein距离,提取mKPI的突变特征。
节点之间调用耗时的异常分数。在微服务系统中,一个用户服务请求涉及多个微服务。同时,许多用户发起了大量的服务请求,带来了大量的跟踪数据。在高并发场景下,与故障相关的节点的耗时突变很大。因此,将重点放在调用耗时的变化上,以量化故障发生时的网元节点异常程度。t时调用者节点i和服务器节点j之间的跟踪消耗时间用M_(i,j)(t)表示,而当故障发生在T_fault时,故障节点及其相关的节点的M_(i,j)(t)始终增大。故障前后的状态变化对故障诊断非常重要,这种分布变化通过异常得分s_(i,j)(T_fault)量化表示。引入统计距离中的wasserstein距离,计算得到异常得分s_(i,j)(T_fault)。wasserstein距离是衡量从一个概率分布到另一个概率分布的偏差,在本发明的场景中,是故障前后收集的样本的经验分布之间的差异。这一步可以初步分析得到故障根因节点集合,以供工程师参考。
然后本方法主要分析三类mKPI:docker,OS和database的mKPI。mKPI的数据有着关于机器运行状态的各类信息,包括CPU、内存、网络接口、文件系统、进程等指标,分析这些mKPI可以找到机器出现故障的原因。部署在同一个主机上的所有容器中由于存在网络数据交流,因此容易相互影响,因此他们的mKPI也是相关的。一旦根因mKPI出现故障,它将影响另外的相关mKPI。因此,在根因定位时需要排除许多假阳性的mKPI,即避免误报。
mKPI主要有两种模式:稳定模式和趋势模式。对于稳定的模式,mKPI主要围绕某个中心值振荡。对于趋势模式,mKPI在一天内稳定增长,趋势可以被视为线性。对于异常mKPI,异常模式主要是值的突然快速变化。但反过来,指标的值的突然快速变化并不一定意味着mKPI是异常的根本原因,有时甚至是正常的变化。从mKPI时间序列中提取3个主要特征:变化开始时间(T_s)、变化梯度(C_g)和误报系数(FC)。这三个特征将帮助发现异常的mKPI,推断依赖关系,同时避免误报。
步骤S50,随机森林关联模型预测根因节点和根因mKPI。
在本发明的一个优选实施例中,通过两个相互关联的模型来找出故障原因,同时降低了根因指标搜索的空间复杂度,这实现了高效率的双层根因定位的功能。
具体的实际数据计算示例如下表1所示:
表1
Figure BDA0003337414140000091
Figure BDA0003337414140000101
根据前面表1的数据,因为随机森林能通过历史故障特征情况学习到故障模式,所以随机森林会预测到docker1调docker2处发生了故障,具体的机器级指标是DB。
随机森林:虽然节点异常分数和mKPI特征可以对根本原因进行排序和规则分析,本方法构建了一个模型来利用历史故障信息。引入集成学习方法随机森林,随机森林基于所有树的多数投票对样本进行分类,这被证明是更精确和稳定的。关联模型利用节点异常分数和mKpi特征构建多分类模型,定位根本原因。图3显示了基于随机森林的三种模型架构。这三种解决方案对应不同的故障定位需求,采用最佳概率关联模型。由于节点和mKPI指标之间的相关性,这种解决方案可以减少mKpi的搜索空间。
本发明提供了一种用于微服务应用程序的故障根因定位方法,具体实现该技术方案的方法和途径很多,以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视为本发明的保护范围。本实施例中未明确的各组成部分均可用现有技术加以实现。

Claims (8)

1.一种用于微服务应用程序的故障根因定位方法,其特征在于,包括如下步骤:
步骤1,通过调用接口的方式从监控系统中每隔时间X进行各种指标数据信息的采集,所述各种指标数据信息包括总体服务级指标sKPI,网元节点之间调用耗时数据Mi,j(r),以及各种机器级性能指标数据mKPI;
步骤2,通过hive聚集统计系统总体服务级指标sKPI,对当前t时刻数据进行实时有效性检验,如果检验为无效数据,则剔除当前t时刻数据或者重新获取数据,得到t时刻总体服务级指标sKPI的取值向量xt;如果检测为有效数据,则保存数据xt,进入步骤3;
步骤3,使用基于核函数的异常检测器EXPoSE在线检测系统总线所有服务级指标sKPI的异常分数,并获得故障的发生时间Tfault
步骤4,计算网元节点间调用耗时的推土机距离,提取机器性能级别特征的突变特征;
步骤5,利用随机森林关联模型预测故障根因节点和根因mKPI。
2.根据权利要求1所述的方法,其特征在于,步骤3包括:
通过以下公式计算异常分数st
Figure FDA0003337414130000011
Figure FDA0003337414130000012
是对xt进行特征映射,所有映射都是基于高斯核函数;
μ[Pt]是核均值映射,
Figure FDA0003337414130000013
3.根据权利要求2所述的方法,其特征在于,步骤3中,根据得到的异常分数,设定阈值θ,当t和t+1时刻的异常分数均大于阈值θ,则判断t时刻为故障发生时刻。
4.根据权利要求3所述的方法,其特征在于,步骤4中,采用如下方法计算网元节点的推土机距离:
每次预测到故障发生时间Tfault后,开始计算:
设置t=Tfault,设置窗口w,对于网元节点i和j:
对所有x设置
Figure FDA0003337414130000014
其中,x表示故障时间t之前的时间窗内网元节点之间耗时数据Mi,j(r),x是随机变量;r是故障时间t前时间窗的开始时间;
Figure FDA0003337414130000021
表示网元节点耗时随机变量的分布;
Figure FDA0003337414130000022
表示随机变量x的指示函数;
对所有x设置
Figure FDA0003337414130000023
Figure FDA0003337414130000024
表示故障后时间窗内节点耗时的分布情况;
计算网元节点i、j间的推土机距离si,j(Tfault):
Figure FDA0003337414130000025
其中,Π(P,Q)表示所有可能的联合分布集合,联合分布满足边缘分布是P和Q;对于每个可能的联合分布r采样(x,y)计算距离并求得期望值
Figure FDA0003337414130000026
inf表示在所有可能的联合分布中这个期望值的下限;i∈N,j∈N,N为网元节点全集,并且i与j能够相同;x表示从分布
Figure FDA0003337414130000027
采样得到的网元节点调用耗时,y是从
Figure FDA0003337414130000028
采样得到的网元节点调用耗时。
5.根据权利要求4所述的方法,其特征在于,步骤4中,所述提取机器性能级别特征的突变特征,具体包括:
设置突变时间窗[Tfault-w1,Tfault+w2];
w1为后向时间窗长度,w2为前向时间窗长度;
设置
Figure FDA0003337414130000029
x表示机器级性能指标数据mKPI的值,x*表示归一化的值,
Figure FDA00033374141300000215
是突变时间窗内的均值std(x)是x的标准偏差;
每次t时刻,设置
Figure FDA00033374141300000210
Figure FDA00033374141300000211
表示t时刻的序列梯度值,
Figure FDA00033374141300000212
表示下一时刻归一化的值;
然后执行如下步骤:
步骤4-1:设置Ts=1,Ts为突变发生时间;
步骤4-2:遍历t=w2-1:w1,如果
Figure FDA00033374141300000213
设置Ts=t,退出循环;
步骤4-3结束循环后得到最早超出三倍标准差梯度的时刻Ts与梯度
Figure FDA00033374141300000214
为突变发生时刻的梯度。
6.根据权利要求5所述的方法,其特征在于,步骤5包括:训练随机森林关联模型,利用集成学习方法自动学习故障节点和故障根因mKPI的判断规则;在实时判断根因的时候,将网元节点之间的推土机距离特征和机器性能级别特征的突变特征,输入随机森林关联模型,预测故障根因节点和根因。
7.根据权利要求6所述的方法,其特征在于,步骤5中,根据如下公式预测故障根因节点H1(x):
Figure FDA0003337414130000031
其中x是所有节点耗时分布特征,hi(x)表示调用节点耗时分布特征时每一颗训练好的决策树。
8.根据权利要求7所述的方法,其特征在于,步骤5中,根据如下公式预测根因mKPI H2(y):
Figure FDA0003337414130000032
其中,y是提取的前n个可能的故障根因节点H1(x)和机器性能级别特征的突变特征,hi(y)表示调用机器性能级别特征的突变特征时的每一颗训练好的决策树。
CN202111310631.XA 2021-11-04 2021-11-04 一种用于微服务应用程序的故障根因定位方法 Pending CN114003466A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111310631.XA CN114003466A (zh) 2021-11-04 2021-11-04 一种用于微服务应用程序的故障根因定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111310631.XA CN114003466A (zh) 2021-11-04 2021-11-04 一种用于微服务应用程序的故障根因定位方法

Publications (1)

Publication Number Publication Date
CN114003466A true CN114003466A (zh) 2022-02-01

Family

ID=79927886

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111310631.XA Pending CN114003466A (zh) 2021-11-04 2021-11-04 一种用于微服务应用程序的故障根因定位方法

Country Status (1)

Country Link
CN (1) CN114003466A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450399A (zh) * 2023-06-13 2023-07-18 西华大学 微服务系统故障诊断及根因定位方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116450399A (zh) * 2023-06-13 2023-07-18 西华大学 微服务系统故障诊断及根因定位方法
CN116450399B (zh) * 2023-06-13 2023-08-22 西华大学 微服务系统故障诊断及根因定位方法

Similar Documents

Publication Publication Date Title
CN115396289B (zh) 一种故障告警确定方法、装置、电子设备及存储介质
CN110570544A (zh) 飞机燃油系统故障识别方法、装置、设备和存储介质
CN107426019A (zh) 网络故障确定方法、计算机设备及计算机可读存储介质
CN116304909A (zh) 一种异常检测模型训练方法、故障场景定位方法及装置
CN110597235A (zh) 一种通用智能故障诊断方法
CN115800272A (zh) 基于拓扑识别的电网故障分析方法、系统、终端及介质
CN112801434A (zh) 性能指标健康度的监测方法、装置、设备和存储介质
CN117312997A (zh) 一种电力管理系统智能诊断方法及系统
CN115309575A (zh) 基于图卷积神经网络的微服务故障诊断方法、装置及设备
CN114003466A (zh) 一种用于微服务应用程序的故障根因定位方法
CN112285484B (zh) 基于深度神经网络的电力系统故障诊断信息融合方法及装置
US11665185B2 (en) Method and apparatus to detect scripted network traffic
CN115114124A (zh) 主机风险的评估方法及评估装置
CN111290371B (zh) 物联网设备远程诊断的方法及装置、电子设备
CN113518367A (zh) 5g网络切片下基于服务特征的故障诊断方法及系统
CN117034149A (zh) 故障处理策略确定方法、装置、电子设备和存储介质
CN114760190A (zh) 一种面向服务的融合网络性能异常检测方法
CN114157486A (zh) 通信流量数据异常检测方法、装置、电子设备及存储介质
CN115408182A (zh) 业务系统故障定位方法及装置
CN112732519A (zh) 一种事件监控方法及装置
CN110263811A (zh) 一种基于数据融合的设备运行状态监测方法及系统
CN113297026B (zh) 对象检测方法、装置、电子设备及计算机可读存储介质
CN116204379B (zh) 一种服务端软件健康检测方法及装置
CN115829160B (zh) 一种时序异常预测方法、装置、设备及存储介质
CN117520040B (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