CN114721860B - 一种基于图神经网络的微服务系统故障定位方法 - Google Patents

一种基于图神经网络的微服务系统故障定位方法 Download PDF

Info

Publication number
CN114721860B
CN114721860B CN202210560212.XA CN202210560212A CN114721860B CN 114721860 B CN114721860 B CN 114721860B CN 202210560212 A CN202210560212 A CN 202210560212A CN 114721860 B CN114721860 B CN 114721860B
Authority
CN
China
Prior art keywords
service
node
neural network
data
fault
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
CN202210560212.XA
Other languages
English (en)
Other versions
CN114721860A (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.)
Beihang University
Original Assignee
Beihang 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 Beihang University filed Critical Beihang University
Priority to CN202210560212.XA priority Critical patent/CN114721860B/zh
Publication of CN114721860A publication Critical patent/CN114721860A/zh
Application granted granted Critical
Publication of CN114721860B publication Critical patent/CN114721860B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/079Root cause analysis, i.e. error or fault diagnosis
    • 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
    • G06F11/0778Dumping, i.e. gathering error/state information after a fault for later diagnosis
    • 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
    • G06N3/045Combinations of networks
    • 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
    • G06N3/047Probabilistic or stochastic networks
    • 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
    • G06N3/084Backpropagation, e.g. using gradient descent

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Biomedical Technology (AREA)
  • Health & Medical Sciences (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Biophysics (AREA)
  • General Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Software Systems (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Molecular Biology (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Quality & Reliability (AREA)
  • Probability & Statistics with Applications (AREA)
  • Telephonic Communication Services (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明涉及一种基于图神经网络的微服务系统故障定位方法,具体步骤如下:步骤一、针对微服务平台上的一个命名空间下的服务节点,实时采集每个服务节点的机器指标数据和上下游服务节点;步骤二、对当前命名空间下的服务节点注入各类运维故障,使得采集工具能够采集到各类运维故障发生时的各项运维数据;步骤三、根据采集工具采集到的运维数据和所述注入的运维故障构造当前的服务调用链数据,每一条调用链数据中包含若干服务节点和若干表示调用关系的边,并注明故障节点的位置;步骤四、训练图神经网络;步骤五、根据损失函数判断该图神经网络是否收敛;步骤六、将训练好的该图神经网络用于当前命名空间下的故障定位服务。

Description

一种基于图神经网络的微服务系统故障定位方法
技术领域
本发明涉及人工智能领域,特别是指一种基于图神经网络的微服务系统故障定位方法。
背景技术
现代软件系统的架构正变得越来越复杂,需要架构设计和系统建模的新方法。复杂系统也需要表现出高可用性,为了从架构角度解决这些问题,微服务架构出现在编程应用的新范式之中。近年来,微服务架构在软件开发过程中越来越受到欢迎。微服务架构是一种新的软件设计架构,主要致力于设计和开发高可维护性和高可扩展性的软件系统。
微服务架构的设计准则对于项目经理和开发人员是十分友好的,它为分布式应用程序的设计和实现提供了指导。遵循微服务架构的设计原则,每一个子服务的功能往往都是特别明确的,由于单个服务的复杂度往往不高,开发人员只需要专注于实现和测试某个服务的功能。而在传统的巨大服务中,由于是许多软件工程师维护同一个代码库,这将可能导致所有工程师都觉得“不是我的问题”的情况发生。此外,由于每个微服务表示单独的业务模块,故它们可以独立地按照自己的时间表进行交付和更新,服务开发者可以有很大的自主选择性。微服务框架从架构上带来了诸多优秀的设计,但同时,微服务框架也存在着诸多挑战。
在微服务的发展与普及过程中,在微服务平台运行的服务越来越多,越来越难以管理。相比于传统的单体应用,微服务项目的服务异常检测和故障排除更加困难。主要原因是:由于微服务架构中服务之间的调用和依赖关系十分复杂,当一个服务出现故障时,往往会造成与之相关的服务同时出现故障,维护人员很难在短时间内定位到发生故障的具体服务,为故障排除带来困难。
发明内容
针对微服务平台运行服务众多、调用关系复杂等原因导致的难以定位故障根因服务器的问题,本发明提出一种基于图神经网络的微服务系统故障定位方法,实现了图神经网络方法的有效实施;减少了运维人员压力,对智能运维平台的搭建具有重要意义。
本发明的技术方案为:一种基于图神经网络的微服务系统故障定位方法,具体步骤如下:
步骤一、针对微服务平台上的一个命名空间下的服务节点,实时采集每个服务节点的机器指标数据和上下游服务节点;
步骤二、对当前命名空间下的服务节点注入各类运维故障,使得采集工具能够采集到各类运维故障发生时的各项运维数据,包含每个服务节点的机器指标数据和服务节点之间的调用关系指标数据;
步骤三、根据采集工具采集到的运维数据和所述注入的运维故障构造当前的服务调用链数据,每一条调用链数据中包含若干服务节点和若干表示调用关系的边,并注明故障节点的位置;
步骤四、训练图神经网络;
步骤五、根据损失函数判断该图神经网络是否收敛,如果是,则进入下一步,如果不是,则重复步骤四,继续提高该图神经网络的准确度;
步骤六、将训练好的该图神经网络用于当前命名空间下的故障定位服务。
本发明的优点在于:
本发明提出的一种基于图神经网络的微服务系统故障定位方法,有效得自动化标注了微服务系统出现异常的故障根因节点,缓解了微服务平台运行服务众多、调用关系复杂等原因导致的难以定位故障根因服务的问题,减少了运维人员压力,对智能运维平台的搭建具有重要意义。
附图说明
图1:本发明的方法流程图;
图2:本发明的一种基于图神经网络的微服务系统故障定位过程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整的描述,显然,所描述的实施例仅为本发明的一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域的普通技术人员在不付出创造性劳动的前提下所获得的所有其他实施例,都属于本发明的保护范围。
根据本发明的一个实施例,一种基于图神经网络的微服务系统故障定位方法,流程图如图1所示,具体步骤如下:
步骤一、针对微服务平台上的一个命名空间下的服务节点,实时采集每个服务节点的机器指标数据和上下游服务节点;
步骤二、对当前命名空间下的服务节点注入各类运维故障,使得采集工具能够采集到各类运维故障发生时的各项运维数据,包含每个服务节点的机器指标数据和服务节点之间的调用关系指标数据;
步骤三、根据采集工具采集到的运维数据和所述注入的运维故障构造当前的服务调用链数据,每一条调用链数据中包含若干服务节点和若干表示调用关系的边,并注明故障节点的位置;
步骤四、训练图神经网络;
步骤五、根据损失函数判断该图神经网络是否收敛,如果是,则进入下一步,如果不是,则重复步骤四,继续提高该图神经网络的准确度;
步骤六、将训练好的该图神经网络用于当前命名空间下的故障定位服务。
具体的,根据本发明的一个实际应用的实施例,应用上面的方法,基于图神经网络的微服务系统故障定位过程示意图如图2所示,包括如下步骤:
步骤一、针对微服务平台上的某个命名空间下的服务节点,通过Prometheus开源工具,实时采集每个服务节点的CPU占用率、内存占用率等机器指标数据和上下游服务节点。
步骤二、利用开源工具ChaosBlade,对当前命名空间下的服务注入各种运维故障,以便Prometheus采集到各类故障发生时的各项运维数据。
步骤三、根据Prometheus开源工具采集到的运维数据和ChaosBlade注入的故障构造当前的服务调用链,每一条调用链中包含若干服务节点和若干表示调用关系的边,并注明了故障节点的位置。
步骤四、将根据采集到的数据构造的调用链数据放入图神经网络进行进行训练。
训练的具体过程如下:
步骤401、针对包含m个服务节点 P={P 1 ,P 2 ,…P m }的当前样本,将其视为服务节点集合,集合中每个服务节点都有j个运维数据作为特征向量,第i个服务节点的特征表示为,且有结果集,当时,表示该节点不是故障根因节点,当时,表示该节点是故障根因节点,同时服务节点之间可能存在两两的调用关系,表示为边集合,将服务节点集合以及它们的特征和对应调用链中的边集合输入GraphSage算法中,得到结果。
具体为:神经网络将每组调用链中的服务节点机器指标数据(运维数据包含服务节点的机器指标数据和调用关系数据)和调用关系分别进行编码,分别作为输入的特征向量和邻接矩阵,对所有服务节点进行n阶(n取决于调用链规模)邻居节点采样,形成新的特征向量,经过全连接层和softmax层,进行前向传播,得到结果向量,即,表明当前节点是否为故障根因节点。
当采样阶数为K时,令k从1~K进行循环,对每个节点的邻居节点采样的具体公式为:
其中,h表示节点特征,k表示层数,v表示当前节点,N(v)表示节点v的邻居节点集合,W是网络的权值,是非线性函数。
步骤402、由于神经网络的输出结果与实际结果有误差,则计算估计值与实际值之间的误差,并将该误差从输出层向隐藏层反向传播,直至传播到输入层。
步骤403、在反向传播的过程中,根据误差调整图神经网络各项参数的值。
步骤五、根据损失函数判断图神经网络是否收敛,如果是,则进入下一步,如果不是,则重复步骤四,继续提高图神经网络准确度。
步骤六、将训练好的故障定位算法用于当前命名空间下的服务。
具体过程如下:
步骤601、服务出现故障时,采集平台中服务节点的机器指标数据和调用链数据;
当微服务平台检测到某些服务出现异常时,将这些服务对应的调用链数据按照训练样本数据的格式采集,出现故障的调用链包含l个服务节点,分别为,将节点特征和边信息输入到故障定位算法中。
步骤602、将采集到的数据放入训练好的图神经网络,得到结果向量;
数据经过图神经网络的全连接层和softmax层,进行前向传播,得到结果向量,即
图神经网络输出的结果向量结构具体为:
其中可以认为是该服务节点不是故障根因节点的概率,可以认为是该服务节点是故障根因节点的概率。
步骤603、结果向量中最大值对应的服务节点位置即为故障服务节点。
取结果向量最大的,其对应的服务节点就是最有可能是故障根因的服务节点。
尽管上面对本发明说明性的具体实施方式进行了描述,以便于本技术领域的技术人员理解本发明,且应该清楚,本发明不限于具体实施方式的范围,对本技术领域的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。

Claims (1)

1.一种基于图神经网络的微服务系统故障定位方法,其特征在于,具体步骤如下:
步骤一、针对微服务平台上的一个命名空间下的服务节点,实时采集每个服务节点的机器指标数据和上下游服务节点;
步骤二、对当前命名空间下的服务节点注入各类运维故障,使得采集工具能够采集到各类运维故障发生时的各项运维数据,包含每个服务节点的机器指标数据和服务节点之间的调用关系指标数据;
步骤三、根据采集工具采集到的运维数据和所述注入的运维故障构造当前的服务调用链数据,每一条调用链数据中包含若干服务节点和若干表示调用关系的边,并注明故障节点的位置;
步骤四、训练图神经网络包括:
步骤401、对微服务平台的服务节点注入运维故障后,采集平台中服务节点的机器指标数据和调用链数据,将含有故障标注的运维数据放入图神经网络中,得到故障标注的估计值;
步骤402、计算估计值与实际值之间的误差,并将该误差从图神经网络的输出层向隐藏层反向传播,直至传播到输入层;
步骤403、在反向传播的过程中,根据误差调整图神经网络各项参数的值;
所述步骤401、针对包含m个服务节点P={P 1 ,P 2 ,…P m }的当前样本,将其视为服务节点集合,集合中每个服务节点都有j个运维数据作为特征向量,第i个服务节点的特征表示为,且有结果集,当时,表示该节点不是故障根因节点,当时,表示该节点是故障根因节点,同时服务节点之间可能存在两两的调用关系,表示为边集合,将服务节点集合以及它们的特征和对应调用链中的边集合输入GraphSage算法中,得到结果;具体为:神经网络将每组调用链中的服务节点机器指标数据,运维数据包含服务节点的机器指标数据和调用关系数据,和调用关系分别进行编码,分别作为输入的特征向量和邻接矩阵,对所有服务节点进行n阶邻居节点采样,形成新的特征向量,经过全连接层和softmax层,进行前向传播,得到结果向量,即,表明当前节点是否为故障根因节点;
当采样阶数为K时,令k从1~K进行循环,对每个节点的邻居节点采样的具体公式为:
其中,h表示节点特征,k表示层数,v表示当前节点,N(v)表示节点v的邻居节点集合,W是网络的权值,是非线性函数;
步骤五、根据损失函数判断该图神经网络是否收敛,如果是,则进入下一步,如果不是,则重复步骤四,继续提高该图神经网络的准确度;
步骤六、将训练好的该图神经网络用于当前命名空间下的故障定位服务;具体包括:
步骤601、服务出现故障时,采集平台中服务节点的机器指标数据和调用链数据;
当微服务平台检测到某些服务出现异常时,将这些服务对应的调用链数据按照训练样本数据的格式采集,出现故障的调用链包含l个服务节点,分别为,将节点特征和边信息输入到故障定位算法中;
步骤602、将采集到的数据放入训练好的图神经网络,得到结果向量;
数据经过图神经网络的全连接层和softmax层,进行前向传播,得到结果向量,即
图神经网络输出的结果向量结构具体为:
其中可以认为是该服务节点不是故障根因节点的概率,可以认为是该服务节点是故障根因节点的概率;
步骤603、结果向量中最大值对应的服务节点位置即为故障服务节点;
取结果向量最大的,其对应的服务节点就是最有可能是故障根因的服务节点。
CN202210560212.XA 2022-05-23 2022-05-23 一种基于图神经网络的微服务系统故障定位方法 Active CN114721860B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210560212.XA CN114721860B (zh) 2022-05-23 2022-05-23 一种基于图神经网络的微服务系统故障定位方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210560212.XA CN114721860B (zh) 2022-05-23 2022-05-23 一种基于图神经网络的微服务系统故障定位方法

Publications (2)

Publication Number Publication Date
CN114721860A CN114721860A (zh) 2022-07-08
CN114721860B true CN114721860B (zh) 2023-04-07

Family

ID=82231304

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210560212.XA Active CN114721860B (zh) 2022-05-23 2022-05-23 一种基于图神经网络的微服务系统故障定位方法

Country Status (1)

Country Link
CN (1) CN114721860B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117560275B (zh) * 2023-12-29 2024-03-12 安徽思高智能科技有限公司 基于图神经网络模型的微服务系统根因定位方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111966076A (zh) * 2020-08-11 2020-11-20 广东工业大学 基于有限状态机和图神经网络的故障定位方法
CN113162787A (zh) * 2020-01-23 2021-07-23 华为技术有限公司 电信网络中故障定位的方法、节点分类方法以及相关设备

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11082438B2 (en) * 2018-09-05 2021-08-03 Oracle International Corporation Malicious activity detection by cross-trace analysis and deep learning
CN111858123B (zh) * 2020-07-29 2023-09-26 中国工商银行股份有限公司 基于有向图网络的故障根因分析方法和装置
US20220124543A1 (en) * 2021-06-30 2022-04-21 Oner Orhan Graph neural network and reinforcement learning techniques for connection management
CN114020326A (zh) * 2021-11-04 2022-02-08 砺剑防务技术(新疆)有限公司 一种基于图神经网络的微服务响应时间预测方法和系统
CN114296975A (zh) * 2021-12-22 2022-04-08 复旦大学 一种分布式系统调用链和日志融合异常检测方法
CN114338351B (zh) * 2021-12-31 2024-01-12 天翼物联科技有限公司 网络异常根因确定方法、装置、计算机设备及存储介质

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113162787A (zh) * 2020-01-23 2021-07-23 华为技术有限公司 电信网络中故障定位的方法、节点分类方法以及相关设备
CN111966076A (zh) * 2020-08-11 2020-11-20 广东工业大学 基于有限状态机和图神经网络的故障定位方法

Also Published As

Publication number Publication date
CN114721860A (zh) 2022-07-08

Similar Documents

Publication Publication Date Title
Nedic Distributed gradient methods for convex machine learning problems in networks: Distributed optimization
EP3796176B1 (en) Fault root cause analysis method and apparatus
Cheng Topological optimization of a reliable communication network
Liu et al. Application of neural network in fault location of optical transport network
CN101945009B (zh) 基于案例和模式匹配的电力通信网故障定位方法及装置
Rong et al. Automatic implementation of fuzzy reasoning spiking neural P systems for diagnosing faults in complex power systems
CN114615019B (zh) 基于微服务拓扑关系生成的异常检测方法
CN112217674B (zh) 基于因果网络挖掘和图注意力网络的告警根因识别方法
US20230132116A1 (en) Prediction of impact to data center based on individual device issue
CN114721860B (zh) 一种基于图神经网络的微服务系统故障定位方法
CN106841928A (zh) 一种基于多源信息融合的配电网故障区段定位方法及系统
Lin et al. A general framework for quantitative modeling of dependability in cyber-physical systems: A proposal for doctoral research
CN111738520A (zh) 一种融合孤立森林与长短期记忆网络的系统负载预测方法
CN114579407B (zh) 一种因果关系检验和微服务指标预测报警方法
CN115048370B (zh) 用于大数据清洗的人工智能处理方法及大数据清洗系统
CN108536972A (zh) 基于自适应智能体的复杂系统可靠性仿真方法及系统
CN114142923B (zh) 光缆故障定位方法、装置、设备及可读介质
CN117194742A (zh) 一种工业软件组件推荐方法及系统
Zhang et al. Root cause analysis of concurrent alarms based on random walk over anomaly propagation graph
Grebenyuk et al. Technological infrastructure management models and methods based on digital twins
CN116633758A (zh) 基于全异构元对比学习模型的网络故障预测方法及系统
Cooper An algorithm for computing probabilistic propositions
WO2022085014A1 (en) Application fault analysis using machine learning
Christian et al. Network Traffic Prediction Of Mobile Backhaul Capacity Using Time Series Forecasting
Hong et al. Retracted: Artificial intelligence point‐to‐point signal communication network optimization based on ubiquitous clouds

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
GR01 Patent grant
GR01 Patent grant