微服务性能异常检测与根因定位
这是一篇关于图注意力网络,VAE,异常检测,根因定位的论文, 主要内容为微服务架构是一种新的软件架构风格,它提倡将单体应用程序划分成一组小的服务(称之为微服务),每个服务运行在独立的进程中。微服务高内聚、低耦合、高可用、可伸缩等优点使得多服务应用架构逐渐成为IT应用交付的基准。然而,组件之间繁多且复杂的交互使得微服务性能异常诊断充满挑战性。如何设计一种适用于微服务架构的性能异常检测和根本原因定位方法是服务计算领域当前研究的一个热点。目前学术界已经提出了许多针对大型微服务集群进行性能异常检测与根本原因定位的方法。然而这些方法存在调用链结构信息丢失、根因定位粒度粗、不适用于调用链轨迹低交叉率场景等问题,不足于解决生产环境中微服务性能异常诊断所面临的技术难题。针对现有工作存在的不足,我们提出了一种新颖的微服务性能异常检测和根本原因定位方法。我们的方法由三部分组成:调用链异常检测模型、容器级别根因定位算法以及根因推广算法。我们首先提出了一种基于图注意力网络和变分自动编码器的无监督异常检测模型,用来进行调用链的异常检测。该模型借助事件表示将调用事件及其关系构建成调用链树状图作为特征向量。这种方法与以往方法相比不仅融合了微服务特征也很好的融合了调用链的调用结构关系,使得检测模型拥有更好的拟合效果,从而将异常定位到调用链级别。然后,我们设计了一种基于控制变量的多目标根本原因定位算法。该算法通过控制变量方法来检测异常调用链中各个微服务容器的响应时间是否异常,从而将异常从调用链级别定位到容器级别。之后我们进一步提出了一种根因推广算法,通过组件依赖图构建组件间的依赖关系,并借助投票机制自底向上将容器级异常精确地推广到组件级别。我们基于广泛使用的开源基准微服务应用和开源生产环境数据集评估我们方法的有效性。实验结果表明,我们的方法在准确率和召回率方面优于现有的异常检测与根本原因定位方法。
基于KPIs的微服务应用系统故障根因定位研究
这是一篇关于关键性能指标,微服务应用系统,根因定位,结构方程模型,深度学习的论文, 主要内容为微服务应用系统依靠关键性能指标(Key Performance Indicators,KPIs)数据监控系统的运行状态。当微服务应用系统出现故障时,一项或多项KPIs指标会表现出异常,并会在系统中广泛传播,导致系统无法正常使用。通常,系统中的一些异常KPIs可以直接指示出引发系统故障的根因,通过定位这些异常KPIs即可定位出引起系统故障的根因。目前,根因定位作为保障微服务应用系统正常运行的关键环节,是智能运维领域的一个研究重点。本文在对KPIs异常检测和根因定位等技术进行分析总结的基础上,对基于KPIs的微服务应用系统故障根因定位方法进行了深入研究,给出了一个基于KPIs的微服务应用系统故障根因定位框架。首先,提出了一种基于TCN-CNN和3-sigma的KPIs异常检测方法。该方法采用TCN和CNN对KPIs进行预测,将预测值与实际观测值进行残差计算获得KPIs残差序列,并基于3-sigma算法进行KPIs残差序列异常检测,以避免异常检测过程中KPIs原有波动趋势对异常检测结果的影响,提高了异常检测结果的准确率。其次,提出了一种基于KPIs时频相关性和因果图的微服务应用系统故障根因定位方法。该方法从时域和频域两个方面对异常KPIs残差序列进行相关性分析,获得异常KPIs时频相关性矩阵;通过在Transformer中引入结构方程模型和生成对抗网络结构对Transformer进行改进并采用改进的Transformer构建异常KPIs因果图和因果关系矩阵。然后,采用基于个性化PageRank算法结合异常KPIs因果关系矩阵和时频相关性矩阵进行异常KPIs根因定位。最后,对本文研究的基于KPIs的微服务应用系统故障根因定位方法进行了实验验证与对比分析。实验结果表明,本文提出的基于KPIs的微服务应用系统故障根因定位方法能够有效地检测出KPIs异常,并提高了根因定位的准确率。
微服务自适应流量控制与故障根因定位机制研究与实现
这是一篇关于微服务,流量控制,根因定位,智能运维的论文, 主要内容为随着互联网应用的动态性和复杂性不断增加,传统的单体软件架构已经难以适应用户需求的快速变化。越来越多的软件系统采用模块化方法,将大型应用分解为更小、更独立、更易于管理的微服务,从而提高系统的伸缩性、灵活性和维护性。但由于服务线上访问流量不可控制,且服务面临复杂多变的网络环境,存在流量过载和级联故障等故障风险。现有的流量控制方法存在响应不及时,适用场景单一,无法保障关键服务请求等问题。此外,当服务发生故障时,由于服务规模、依赖和复杂度的增加,服务故障根因难以准确定位。现有的服务故障根因定位方法忽略了服务动态依赖关系和保护机制对于异常传播概率的影响,导致服务故障根因定位不准确。本文主要研究如何在动态的微服务场景下保障服务的稳定性和可靠性。首先,考虑到服务线上存在异常访问,流量过载等风险,本文提出了一种基于过载保护策略的自适应动态熔断机制,通过细粒度监测网络状况和服务状况,动态地调整熔断器的灵敏度,快速地响应服务状况,并设计了一种基于漏桶算法的自适应多级限流机制,根据服务状况和系统负载状况对服务进行分级流量控制,优先保证关键服务请求成功概率,降低服务资源消耗,保障服务质量。其次,当服务发生故障时,为了快速且准确地定位到服务故障根因,本文提出了一种基于图推理的服务故障根因定位机制。该机制通过服务指标和调用跟踪数据动态地构建服务属性图,采用了一种两阶段动态校正策略来消除保护机制对异常传播概率的影响,并利用随机漫步方法来定位服务故障的根因。最后,本文设计并实现了基于Kubernetes等开源技术的微服务智能运维管理系统,集成了服务自适应流量控制及故障根因定位模块,并进行系统功能测试和性能验证。实验表明,本文提出的方法可以有效地减少服务资源消耗,保障关键服务请求质量,并提高服务故障根因定位的准确性。
微服务场景下的根因定位研究
这是一篇关于微服务,Transformer,故障发现,根因定位的论文, 主要内容为微服务架构为大型软件的开发提供了易扩展、敏捷、高效的开发范式,同时稳定和可靠是微服务需要保证的核心目标。由于微服务的庞大的规模、复杂的动态关联、以及多层次性为微服务的运维工作带来许多困难和挑战。本文重点研究了微服务场景中的故障发现和根因定位,运维人员可以通过他们快速准确的发现并定位故障。微服务中的故障发现面临着频繁的迭代、海量的数据和复杂的服务关系等问题,现有的方法通常依赖于过多的监测和跟踪数据,这增加了异常检测和定位的开销。基于循环神经网络的自动编码器解决方案在训练和推理过程中依然不够有效,特别是当涉及到长序列重建时,它们没有考虑容器之间关系的影响。为了解决这些问题,本文提出了一个基于Transformer的异常检测模型TAD(Transformer-based Anomaly Detector),其采用注意力机制对时间序列的自相关性和容器之间的动态关系进行建模。TAD模型采用Temporal Block和Container Block结构,并使用Sandwish结构将两个模块组合,对容器性能指标进行检测,并通过重构误差实现故障发现。本研究针对真实的微服务环境中收集的sock-shop数据集和公开的SMD数据集进行了测试,评估故障发现的性能。TAD模型在故障发现性能、异常检测的延时在两个数据集上得到了最优结果,同时通过消融实验验证TAD模型的可靠性和效果,为下一步的根因定位奠定了基础。由于微服务具有多个层次,本文将微服务切分为服务层、资源层和指标层。根因指标定位面临着跨越多个层级才能定位到指标的挑战。本文提出了一种多层次的根因定位方法,通过调用链数据和指标数据,最终定位到潜在的根因。除此之外,采用差分调用延时来对调用链进行拆解,使用基于广度优先遍历(Breadth First Search,BFS)潜在故障发现算法定位从服务层定位资源层的潜在故障区域。结合根因的三种特性提出了多因素根因分数,对潜在故障区域中的指标进行根因排序从而定位到根因指标。该方法在微服务环境中收集的Sock-Shop数据集和AIOps2020竞赛数据集上的效果均达到了最佳。
微服务系统故障检测算法的研究与实现
这是一篇关于微服务,异常检测,根因定位,强化学习的论文, 主要内容为随着云服务的发展,用户的需求日益增多,微服务体系架构成为了当今企业解决单体应用模式的主要方案,其将一个大型的单一应用程序和服务划分为几十上百个微服务。微服务系统架构中的各个部分责任明确,调用关系复杂,故障发生时,准确定位故障服务节点有助于排查系统故障原因。由于微服务系统的故障通常是由于内存利用率、CPU利用率等关键性能指标发生异常导致的,因此想要对微服务系统的故障进行检测,需要在定位微服务系统发生故障的服务节点之后,对服务节点的关键指标进行检测和分析,找出导致系统故障的关键性能指标。针对上述微服务系统故障检测问题,本文提出了一种根据微服务系统调用链和微服务系统关键指标数据进行异常检测的算法。本文算法首先通过分析微服务系统的调用链数据,定位故障发生的服务节点,之后通过对故障服务节点的每一个关键指标进行异常检测,找到导致微服务系统发生故障的异常指标。本文的主要研究内容分为以下几个方面:(1)针对微服务系统进行了分析并将微服务系统的故障检测问题分解为两个关键子问题:微服务系统调用链中故障节点的定位问题,以及微服务系统中服务节点关键指标的异常检测问题。当微服务系统发生故障时进行异常检测时,首先需要获取故障发生前后微服务系统的调用链数据,根据调用链中每一个节点的调用时间进行分析,从而定位可能发生故障的服务节点。在得到异常服务节点后,需要对这些故障服务节点的关键指标进行异常检测,找出最可能发生异常的关键指标。(2)为微服务系统故障检测问题设计并实现故障检测框架,实现对微服务系统的故障检测任务。该框架主要包括调用链故障节点定位算法TAD和关键指标异常检测算法LVAE。其中TAD算法通过对微服务系统调用链数据分析和检测,实现对微服务系统故障节点的自动化定位,LVAE算法针对故障节点的每一个关键性能指标进行检测,并给出关键指标序列异常的概率从而找出导致系统发生故障的关键指标。最后通过两个算法的有序组合,完成对微服务系统的故障检测。(3)对本文给出的微服务系统故障检测算法进行对比实验并分析实验结果。本文主要通过i Forest、multi Dimesion、VAE等算法作为对比算法进行实验和分析,对比了每一个算法的精准率、召回率及F1-score。并使用了2020年国际Aiops挑战赛的数据集对微服务系统故障检测框架的异常检测能力进行了实验,证明了本文提出的微服务系统故障检测算法的有效性。
微服务性能异常检测与根因定位
这是一篇关于图注意力网络,VAE,异常检测,根因定位的论文, 主要内容为微服务架构是一种新的软件架构风格,它提倡将单体应用程序划分成一组小的服务(称之为微服务),每个服务运行在独立的进程中。微服务高内聚、低耦合、高可用、可伸缩等优点使得多服务应用架构逐渐成为IT应用交付的基准。然而,组件之间繁多且复杂的交互使得微服务性能异常诊断充满挑战性。如何设计一种适用于微服务架构的性能异常检测和根本原因定位方法是服务计算领域当前研究的一个热点。目前学术界已经提出了许多针对大型微服务集群进行性能异常检测与根本原因定位的方法。然而这些方法存在调用链结构信息丢失、根因定位粒度粗、不适用于调用链轨迹低交叉率场景等问题,不足于解决生产环境中微服务性能异常诊断所面临的技术难题。针对现有工作存在的不足,我们提出了一种新颖的微服务性能异常检测和根本原因定位方法。我们的方法由三部分组成:调用链异常检测模型、容器级别根因定位算法以及根因推广算法。我们首先提出了一种基于图注意力网络和变分自动编码器的无监督异常检测模型,用来进行调用链的异常检测。该模型借助事件表示将调用事件及其关系构建成调用链树状图作为特征向量。这种方法与以往方法相比不仅融合了微服务特征也很好的融合了调用链的调用结构关系,使得检测模型拥有更好的拟合效果,从而将异常定位到调用链级别。然后,我们设计了一种基于控制变量的多目标根本原因定位算法。该算法通过控制变量方法来检测异常调用链中各个微服务容器的响应时间是否异常,从而将异常从调用链级别定位到容器级别。之后我们进一步提出了一种根因推广算法,通过组件依赖图构建组件间的依赖关系,并借助投票机制自底向上将容器级异常精确地推广到组件级别。我们基于广泛使用的开源基准微服务应用和开源生产环境数据集评估我们方法的有效性。实验结果表明,我们的方法在准确率和召回率方面优于现有的异常检测与根本原因定位方法。
基于时空特征抽取的微服务系统异常诊断研究
这是一篇关于微服务架构,异常检测,根因定位的论文, 主要内容为近年来,微服务架构以其灵活、可扩展的特性备受企业青睐,成为了大规模应用的流行架构。基于微服务架构的应用通常由数百或上千个不同的微服务组成,这些微服务之间共享有限的硬件和软件资源,相互通信协作,以完成多样的用户需求。在这种分布式架构下,监控其运行状态需要消耗大量资源,诊断故障原因主要依赖于运维人员的专业经验,既费时费力又很难得到准确的结果。因此,急需自动化的故障检测(异常检测)和故障定位(根因定位)算法。随着人工智能技术的兴起,学者们致力于基于深度学习的异常检测和根因定位模型的相关研究。然而,现有的异常检测和根因定位模型存在以下不足:(1)仅利用微服务性能指标的时间维度识别异常,对不同性能指标之间的关系挖掘不充分;(2)仅关注微服务之间的调用关系或部署关系,对微服务之间的复杂依赖性提取不足。为此,本文首先提出了基于指标时空相关性的异常检测模型,然后利用异常检测模型获得微服务运行状态深度表征,提出基于动态依赖图的根因定位模型。在公开数据集上的实验结果表明,本文的异常检测和根因定位模型准确率高于基线。具体贡献如下:(1)异常检测模型:由于现有研究中仅在时间维度上对微服务性能指标进行异常检测,忽略了指标的空间关联性,本文利用变分自编码器思想,设计了基于self-attention模型和LSTM模型的异常检测模型,同时提取了多元时间序列指标在时间和空间两种维度上的相关性。实验结果表明:该算法能够提高异常的检出率,F1值为0.854,比基线模型提升20.8%。(2)微服务运行状态深度表征:为了更全面准确地表征微服务的运行状态,便于下游根因定位模型的设计,本文提出一种基于性能指标计算微服务运行状态特征向量的方法。该向量通过异常检测模型获得,充分利用了异常检测模型的中间结果,避免了现有研究中指标排列位置对表征结果的影响。实验结果表明:该算法改善了下游根因定位模型的准确度,相比于现有表征方法,F1值提高了10.9%。(3)根因定位模型:为了充分提取微服务之间的动态依赖性,本文首先提出一种动态计算微服务之间依赖关系的方法,将微服务架构建模为图结构,然后利用图节点分类的思想,建立基于图卷积网络的根因定位模型,定位发生故障的微服务。实验结果表明:该算法解决了以往算法中微服务依赖关系提取不充分的问题,F1值比基线模型提升24%。本文提出的异常检测模型和根因定位模型均取得了优于基线算法的性能。这证明了它们的有效性,具有重要的实践意义和应用价值。本文共有图26幅、表13个、参考文献56篇。
基于时空特征抽取的微服务系统异常诊断研究
这是一篇关于微服务架构,异常检测,根因定位的论文, 主要内容为近年来,微服务架构以其灵活、可扩展的特性备受企业青睐,成为了大规模应用的流行架构。基于微服务架构的应用通常由数百或上千个不同的微服务组成,这些微服务之间共享有限的硬件和软件资源,相互通信协作,以完成多样的用户需求。在这种分布式架构下,监控其运行状态需要消耗大量资源,诊断故障原因主要依赖于运维人员的专业经验,既费时费力又很难得到准确的结果。因此,急需自动化的故障检测(异常检测)和故障定位(根因定位)算法。随着人工智能技术的兴起,学者们致力于基于深度学习的异常检测和根因定位模型的相关研究。然而,现有的异常检测和根因定位模型存在以下不足:(1)仅利用微服务性能指标的时间维度识别异常,对不同性能指标之间的关系挖掘不充分;(2)仅关注微服务之间的调用关系或部署关系,对微服务之间的复杂依赖性提取不足。为此,本文首先提出了基于指标时空相关性的异常检测模型,然后利用异常检测模型获得微服务运行状态深度表征,提出基于动态依赖图的根因定位模型。在公开数据集上的实验结果表明,本文的异常检测和根因定位模型准确率高于基线。具体贡献如下:(1)异常检测模型:由于现有研究中仅在时间维度上对微服务性能指标进行异常检测,忽略了指标的空间关联性,本文利用变分自编码器思想,设计了基于self-attention模型和LSTM模型的异常检测模型,同时提取了多元时间序列指标在时间和空间两种维度上的相关性。实验结果表明:该算法能够提高异常的检出率,F1值为0.854,比基线模型提升20.8%。(2)微服务运行状态深度表征:为了更全面准确地表征微服务的运行状态,便于下游根因定位模型的设计,本文提出一种基于性能指标计算微服务运行状态特征向量的方法。该向量通过异常检测模型获得,充分利用了异常检测模型的中间结果,避免了现有研究中指标排列位置对表征结果的影响。实验结果表明:该算法改善了下游根因定位模型的准确度,相比于现有表征方法,F1值提高了10.9%。(3)根因定位模型:为了充分提取微服务之间的动态依赖性,本文首先提出一种动态计算微服务之间依赖关系的方法,将微服务架构建模为图结构,然后利用图节点分类的思想,建立基于图卷积网络的根因定位模型,定位发生故障的微服务。实验结果表明:该算法解决了以往算法中微服务依赖关系提取不充分的问题,F1值比基线模型提升24%。本文提出的异常检测模型和根因定位模型均取得了优于基线算法的性能。这证明了它们的有效性,具有重要的实践意义和应用价值。本文共有图26幅、表13个、参考文献56篇。
微服务场景下的根因定位研究
这是一篇关于微服务,Transformer,故障发现,根因定位的论文, 主要内容为微服务架构为大型软件的开发提供了易扩展、敏捷、高效的开发范式,同时稳定和可靠是微服务需要保证的核心目标。由于微服务的庞大的规模、复杂的动态关联、以及多层次性为微服务的运维工作带来许多困难和挑战。本文重点研究了微服务场景中的故障发现和根因定位,运维人员可以通过他们快速准确的发现并定位故障。微服务中的故障发现面临着频繁的迭代、海量的数据和复杂的服务关系等问题,现有的方法通常依赖于过多的监测和跟踪数据,这增加了异常检测和定位的开销。基于循环神经网络的自动编码器解决方案在训练和推理过程中依然不够有效,特别是当涉及到长序列重建时,它们没有考虑容器之间关系的影响。为了解决这些问题,本文提出了一个基于Transformer的异常检测模型TAD(Transformer-based Anomaly Detector),其采用注意力机制对时间序列的自相关性和容器之间的动态关系进行建模。TAD模型采用Temporal Block和Container Block结构,并使用Sandwish结构将两个模块组合,对容器性能指标进行检测,并通过重构误差实现故障发现。本研究针对真实的微服务环境中收集的sock-shop数据集和公开的SMD数据集进行了测试,评估故障发现的性能。TAD模型在故障发现性能、异常检测的延时在两个数据集上得到了最优结果,同时通过消融实验验证TAD模型的可靠性和效果,为下一步的根因定位奠定了基础。由于微服务具有多个层次,本文将微服务切分为服务层、资源层和指标层。根因指标定位面临着跨越多个层级才能定位到指标的挑战。本文提出了一种多层次的根因定位方法,通过调用链数据和指标数据,最终定位到潜在的根因。除此之外,采用差分调用延时来对调用链进行拆解,使用基于广度优先遍历(Breadth First Search,BFS)潜在故障发现算法定位从服务层定位资源层的潜在故障区域。结合根因的三种特性提出了多因素根因分数,对潜在故障区域中的指标进行根因排序从而定位到根因指标。该方法在微服务环境中收集的Sock-Shop数据集和AIOps2020竞赛数据集上的效果均达到了最佳。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:毕业设计驿站 ,原文地址:https://bishedaima.com/lunwen/54718.html