CN113900845A - 一种基于神经网络的微服务故障诊断的方法和存储介质 - Google Patents

一种基于神经网络的微服务故障诊断的方法和存储介质 Download PDF

Info

Publication number
CN113900845A
CN113900845A CN202111142541.4A CN202111142541A CN113900845A CN 113900845 A CN113900845 A CN 113900845A CN 202111142541 A CN202111142541 A CN 202111142541A CN 113900845 A CN113900845 A CN 113900845A
Authority
CN
China
Prior art keywords
service
fault
abnormal
abnormal index
data
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
CN202111142541.4A
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.)
Datang Internet Technology Wuhan Co ltd
Datang Telecom Convergence Communications Co Ltd
Original Assignee
Datang Internet Technology Wuhan Co ltd
Datang Telecom Convergence Communications 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 Datang Internet Technology Wuhan Co ltd, Datang Telecom Convergence Communications Co Ltd filed Critical Datang Internet Technology Wuhan Co ltd
Priority to CN202111142541.4A priority Critical patent/CN113900845A/zh
Publication of CN113900845A publication Critical patent/CN113900845A/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/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0709Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in a distributed system consisting of a plurality of standalone computer nodes, e.g. clusters, client-server systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0766Error or fault reporting or storing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/24Classification techniques
    • G06F18/241Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods

Abstract

本发明提供了一种基于神经网络的微服务故障诊断的方法,方法包括:获取服务链路图;基于服务链路图,采集服务的运行数据并存储;分析运行数据,获得影响服务运行的指标;分析指标中的异常波动信息,构建异常指标图;基于随机游走算法,根据异常指标图输出候选根因;将候选根因输入预训练好的故障诊断网络模型中验证准确性,从而获得服务故障的诊断结果。该方法能够实时诊断微服务架构的服务故障,并且诊断结果精准性较高。

Description

一种基于神经网络的微服务故障诊断的方法和存储介质
技术领域
本发明涉及微服务架构服务故障诊断技术领域,具体涉及一种基于神经网络的微服务故障诊断的方法和存储介质。
背景技术
随着微服务架构越来越受欢迎,微服务的性能至关重要,因为微服务故障会降低用户体验并带来经济损失。而有效的定位故障的根本原因有助于恢复服务并减轻损失。微服务架构中,一个应用程序往往被分解为多个微服务,web应用程序通过网关调用不同主机、不同容器上运行的服务(见图服务调用)。由此可见,服务之间调用的拓扑存在间接故障传播,不能直接定位问题。因此,微服务架构的高度复杂性和动态性使得故障诊断十分困难。首先,获取固定的服务拓扑关系比较困难,同时这种静态的故障排除方法无法适用于服务调用频繁变化的情况;即使我们知道了服务之间的拓扑关系,由于存在故障的间接传播,我们也缺乏有效的动态诊断机制来判断根因。此外,基于单一指标的时间序列异常检测算法通常无法识别到故障的根本原因,因为单一指标不足以表征各种服务中所发生的异常。有鉴于此,服务故障诊断需要利用多种类型的指标来动态生成服务关联,从而诊断根因。
发明内容
本发明解决的一个主要问题是微服务架构的高度复杂性和动态性使服务故障诊断十分困难。
根据本发明的一个方面,本发明提供一种基于神经网络的微服务故障诊断的方法,所述方法包括:
获取服务链路图;
基于所述服务链路图,采集服务的运行数据并存储;
分析所述运行数据,获得影响服务运行的指标;
分析所述指标中的异常波动信息,构建异常指标图;
根据所述异常指标图输出候选根因;
将所述候选根因输入预训练好的故障诊断网络模型中诊断,并基于随机游走算法验证诊断出的故障原因的准确性,从而获得服务故障的精确诊断结果。
优选地,所述方法还包括:利用分布式追踪系统获取所述服务链路图。
优选地,所述采集服务的运行数据并存储还包括:
在服务中加入探针;
利用所述探针采集服务的所述运行数据;
设定数据采集间隔;
根据所述数据采集间隔,将所述运行数据存储到不同数据源。
优选地,获得影响服务运行的指标后还包括:
剔除所述指标中的无效指标。
优选地,分析所述指标中的异常波动信息包括:
获取服务运行时的异常指标项,以及与所述异常指标项关联的其他异常指标项;
基于异常行为算法,对所述异常指标项和与所述异常指标项关联的其他异常指标项作为所述异常波动信息进行关联分析,构建异常指标图。
优选地,根据所述异常指标图输出候选根因包括:
基于根因分析算法对所述异常指标图进行建模,并通过随机游走算法输出候选根因。
优选地,将所述候选根因输入预训练好的故障诊断网络模型中,基于随机游走算法验证准确性包括:
将所述候选根因与历史数据基于根因分析算法找出故障原因;
通过随机游走算法验证所述故障原因的准确性。
优选地,所述方法还包括:
当所述候选根因验证的准确性满足预设准确性时,建立网络模型;
利用满足所述预设准确性的所述候选根因训练所述网络模型,并将训练好的网络模型存储进模型库作为新的预训练好的故障诊断网络模型。
根据本发明的另一个方面,还包括一种存储介质,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序运行时用于实现如前任一所述的一种基于神经网络的微服务故障诊断的方法。
本方法的优势在于可以将服务与故障根因之间复杂的关联关系表示出来,能够更加直观的进行展示,并且.可以避免传统的服务故障诊断过程中的无穷递归问题。由于本方法也没有复杂的推理过程,在验证的过程中可以进行指标项调整,还可以根据服务之间的拓扑关系,将与服务关联的各种指标项与异常情况的相关性进行逐步排查,最后通过随机游走算法找出候选根因,并通过预先训练好的故障诊断网络模型验证候选根因的准确性,从而可以实时地对故障进行精准地诊断,从而提升用户的体验度。
附图说明
本发明构成说明书的一部分附图描述了本发明的实施例,并且连同说明书一起用于解释本发明的原理。
图1为本发明实施例中基于神经网络的微服务故障诊断的方法流程示意图。
图2为本发明实施例中预训练好的神经网络分析候选根因的步骤示意图。
具体实施方式
下面将结合附图来详细描述本发明的各种示例性实施例。应注意到:除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
如图1所示,为本实施例中基于神经网络的微服务故障诊断的方法流程示意图。首先获取服务链路图,具体可利用分布式追踪系统来获取服务链路图。
然后基于所述服务链路图,采集服务的运行数据并存储。采集方式为在依赖的服务器、基础服务、相互调用的服务等中加入探针进行采集。
具体地,在前述采集数据的步骤中,加入探针后,因为微服务中各种服务被调用的频次不同,从而导致采集服务的运行数据指标项时采集频次不同,所以需要根据服务的特性来指定数据采集间隔;并将采集到的运行数据根据指定的数据采集间隔的特性存储到不同的数据源。
分析采集到的运行数据,获得影响服务运行的指标,即异常指标。分析时需将无效的运行数据的指标项(无效指标即该指标项的高低不影响服务运行的各项数据指标)进行剔除。
获取异常指标图,根据异常指标图输出候选根因。监控采集到的运行数据,将监控过程中服务出现异常波动的指标项和与其关联的指标项中出现异常波动情况的指标项进行逐步排查,最后通过随机游走算法将排查得到的两种异常指标项进行分析,从而输出候选根因。
将候选根因输入预训练好的故障诊断网络模型中诊断,并基于随机游走算法验证的诊断结果的准确性,从而获得服务故障的精确诊断结果。通过利用历史数据预先训练好的故障诊断网络模型对前述步骤中的候选根因进行诊断验证。
下面结合图2来说明故障诊断网络模型的工作原理。图2为利用故障诊断网络模型进行诊断的过程示意图。由于服务出现故障的原因有很多种,可能是服务器本身的原因,可能是服务依赖的基础服务组件的原因,也有可能是服务之间相互调用被调用的服务出现了故障等,且出现的故障的数据不一定是某个具体的值,有可能是因为运行数据间的关联原因、运行数据的逻辑排序和运行数据阈值区间出现异常。因此当微服务架构中的服务出现故障时,首先将候选根因(如包含故障A、故障B和故障C等)依次或全部输入故障诊断网络模型,并将候选根因基于预先设置的历史数据利用随机游走算法依次进行验证。
验证的步骤具体为:根据输入的候选根因中的故障形式,按照实际需求调整故障诊断网络模型的权重系数后,将故障模型与故障类型进行关联,对于每一条新输入的服务运行状态信息,故障诊断网络模型均将根据服务运行状态信息迅速地给出故障分类结果,从而得到故障诊断结果,即哪项指标与服务正常运行时的真实数据不匹配,利用随机游走算法验证直到获得满足预设准确性的精确的诊断结果。
前述的历史数据包括服务器磁盘使用情况、故服务器CPU核心数量及CPU使用率和服务器的平均负载、服务依赖的基础服务组件的相关数据,如存储组件、消息中间件等的相关数据;还包括服务与服务之间相互调用的相关数据等真实监测数据,还包括服务运行期间服务所依赖的基础服务组件(如数据库、Redis、Kafka、Nacos等)运行时的指标数据。
当前述步骤中,候选根因验证的准确性满足预设准确性时,还可以建立新的故障机理网络模型,并将该故障机理模型存储进模型库作为新的预训练好的故障诊断网络模型。在以后的实际应用中,可以根据实际情况来不断完善该故障诊断网络模型的相关参数。
下面来说明本方法实施例能够达到的技术效果。由于服务故障诊断实质上就是将出现具体故障问题与故障所在的环境空间以及环境空间的各项指标参数之间的关联关系一一对应,这种关联的过程往往时复杂的、非线性的。因此本方法将各类故障与预设的服务器的各项参数指标值、依赖基础服务运行时的各项参数指标值进行一一关联映射,并根据预先建立的模型专家知识库中反应故障真实映射关系的批量历史监测数据,对神经网络模型进行训练,通过对深度学习中的模型进行训练,来获得故障诊断网络模型,该故障诊断网络模型具有故障分类的准确性和精准性高的特点。并利用训练好的故障诊断网络模型来进行实时的故障诊断,即在实际故障诊断时,将采集到的监测数据发送至训练好的故障诊断网络模型中即可得到故障诊断的结果。
以上所述仅为本发明的较佳实施例而已,并不用于限制本发明,凡在本发明的精神和原则范围之内所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。

Claims (9)

1.一种基于神经网络的微服务故障诊断的方法,其特征在于,所述方法包括:
获取服务链路图;
基于所述服务链路图,采集服务的运行数据并存储;
分析所述运行数据,获得影响服务运行的指标;
分析所述指标中的异常波动信息,构建异常指标图;
根据所述异常指标图输出候选根因;
将所述候选根因输入预训练好的故障诊断网络模型中诊断,并基于随机游走算法验证诊断出的故障原因的准确性,从而获得服务故障的精确诊断结果。
2.如权利要求1所述的方法,其特征在于,所述方法还包括:
当所述候选根因验证的准确性满足预设准确性时,建立故障机理网络模型;
将所述故障机理模型存储进模型库,作为新的预训练好的故障诊断网络模型。
3.如权利要求1所述的方法,其特征在于,所述方法还包括:利用分布式追踪系统获取所述服务链路图。
4.如权利要求1所述的方法,其特征在于,所述采集服务的运行数据并存储还包括:
在服务中加入探针;
利用所述探针采集服务的所述运行数据;
设定数据采集间隔;
根据所述数据采集间隔,将所述运行数据存储到不同数据源。
5.如权利要求1所述的方法,其特征在于,获得影响服务运行的指标后还包括:
剔除所述指标中的无效指标。
6.如权利要求1所述的方法,其特征在于,分析所述指标中的异常波动信息还包括:
获取服务运行时的异常指标项,以及与所述异常指标项关联的异常指标项;
基于异常行为算法,对所述异常指标项和与所述异常指标项关联的异常指标项作为所述异常波动信息进行关联分析,构建异常指标图。
7.如权利要求1所述的方法,其特征在于,根据所述异常指标图输出候选根因还包括:
基于根因分析算法对所述异常指标图进行建模,并通过随机游走算法输出候选根因。
8.如权利要求1所述的方法,其特征在于,将所述候选根因输入预训练好的故障诊断网络模型中,基于随机游走算法验证准确性包括:
基于所述候选根因与历史数据,利用根因分析算法找出故障原因;
通过随机游走算法验证所述故障原因的准确性。
9.一种存储介质,其特征在于,所述存储介质为计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序运行时用于实现如权利要求1-8任一所述的一种基于神经网络的微服务故障诊断的方法。
CN202111142541.4A 2021-09-28 2021-09-28 一种基于神经网络的微服务故障诊断的方法和存储介质 Pending CN113900845A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111142541.4A CN113900845A (zh) 2021-09-28 2021-09-28 一种基于神经网络的微服务故障诊断的方法和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111142541.4A CN113900845A (zh) 2021-09-28 2021-09-28 一种基于神经网络的微服务故障诊断的方法和存储介质

Publications (1)

Publication Number Publication Date
CN113900845A true CN113900845A (zh) 2022-01-07

Family

ID=79029624

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111142541.4A Pending CN113900845A (zh) 2021-09-28 2021-09-28 一种基于神经网络的微服务故障诊断的方法和存储介质

Country Status (1)

Country Link
CN (1) CN113900845A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978968A (zh) * 2022-05-10 2022-08-30 中国平安财产保险股份有限公司 微服务的异常检测方法、装置、计算机设备和存储介质
CN115333921A (zh) * 2022-08-20 2022-11-11 海南大学 微服务异常根因定位方法及装置
CN116032723A (zh) * 2022-12-20 2023-04-28 浪潮云信息技术股份公司 一种应用的故障根因组合分析方法
CN116450399A (zh) * 2023-06-13 2023-07-18 西华大学 微服务系统故障诊断及根因定位方法
CN117560275A (zh) * 2023-12-29 2024-02-13 安徽思高智能科技有限公司 基于图神经网络模型的微服务系统根因定位方法及装置

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114978968A (zh) * 2022-05-10 2022-08-30 中国平安财产保险股份有限公司 微服务的异常检测方法、装置、计算机设备和存储介质
CN114978968B (zh) * 2022-05-10 2023-08-29 中国平安财产保险股份有限公司 微服务的异常检测方法、装置、计算机设备和存储介质
CN115333921A (zh) * 2022-08-20 2022-11-11 海南大学 微服务异常根因定位方法及装置
CN115333921B (zh) * 2022-08-20 2024-03-29 海南大学 微服务异常根因定位方法及装置
CN116032723A (zh) * 2022-12-20 2023-04-28 浪潮云信息技术股份公司 一种应用的故障根因组合分析方法
CN116450399A (zh) * 2023-06-13 2023-07-18 西华大学 微服务系统故障诊断及根因定位方法
CN116450399B (zh) * 2023-06-13 2023-08-22 西华大学 微服务系统故障诊断及根因定位方法
CN117560275A (zh) * 2023-12-29 2024-02-13 安徽思高智能科技有限公司 基于图神经网络模型的微服务系统根因定位方法及装置
CN117560275B (zh) * 2023-12-29 2024-03-12 安徽思高智能科技有限公司 基于图神经网络模型的微服务系统根因定位方法及装置

Similar Documents

Publication Publication Date Title
CN113900845A (zh) 一种基于神经网络的微服务故障诊断的方法和存储介质
CN112162878B (zh) 数据库故障发现方法、装置、电子设备及存储介质
US7693982B2 (en) Automated diagnosis and forecasting of service level objective states
US7409316B1 (en) Method for performance monitoring and modeling
US7813298B2 (en) Root cause problem detection in network traffic information
US20040199573A1 (en) System and method for remote diagnosis of distributed objects
US20080133288A1 (en) Grouping Failures to Infer Common Causes
EP1859392B1 (en) Fault diagnostics
CN110032463B (zh) 一种基于贝叶斯网络的系统故障定位方法和系统
US7197428B1 (en) Method for performance monitoring and modeling
CN110795260B (zh) 一种智能客户关怀系统
US8710976B2 (en) Automated incorporation of expert feedback into a monitoring system
CN116719664B (zh) 基于微服务部署的应用和云平台跨层故障分析方法及系统
CN112379325A (zh) 一种用于智能电表的故障诊断方法及系统
CN113467421A (zh) 获取微服务健康状态指标的方法和微服务异常诊断方法
CN115309575A (zh) 基于图卷积神经网络的微服务故障诊断方法、装置及设备
CN108334427A (zh) 存储系统中的故障诊断方法及装置
CN113392893A (zh) 业务故障的定位方法、装置、存储介质及计算机程序产品
KR102108975B1 (ko) 함정설비의 상태기반 정비 지원 장치 및 방법
CN117170915A (zh) 数据中心设备故障预测方法、装置和计算机设备
CN115729761B (zh) 一种硬盘故障预测方法、系统、设备及介质
CN116049642A (zh) 一种故障诊断方法、系统、电子设备及计算机存储介质
JP6967099B2 (ja) 学習モデル作成システム及び学習モデル作成方法
CN117376084A (zh) 故障检测方法、电子设备及其介质
CN112699048B (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