基于时空特征抽取的微服务系统异常诊断研究
这是一篇关于微服务架构,异常检测,根因定位的论文, 主要内容为近年来,微服务架构以其灵活、可扩展的特性备受企业青睐,成为了大规模应用的流行架构。基于微服务架构的应用通常由数百或上千个不同的微服务组成,这些微服务之间共享有限的硬件和软件资源,相互通信协作,以完成多样的用户需求。在这种分布式架构下,监控其运行状态需要消耗大量资源,诊断故障原因主要依赖于运维人员的专业经验,既费时费力又很难得到准确的结果。因此,急需自动化的故障检测(异常检测)和故障定位(根因定位)算法。随着人工智能技术的兴起,学者们致力于基于深度学习的异常检测和根因定位模型的相关研究。然而,现有的异常检测和根因定位模型存在以下不足:(1)仅利用微服务性能指标的时间维度识别异常,对不同性能指标之间的关系挖掘不充分;(2)仅关注微服务之间的调用关系或部署关系,对微服务之间的复杂依赖性提取不足。为此,本文首先提出了基于指标时空相关性的异常检测模型,然后利用异常检测模型获得微服务运行状态深度表征,提出基于动态依赖图的根因定位模型。在公开数据集上的实验结果表明,本文的异常检测和根因定位模型准确率高于基线。具体贡献如下:(1)异常检测模型:由于现有研究中仅在时间维度上对微服务性能指标进行异常检测,忽略了指标的空间关联性,本文利用变分自编码器思想,设计了基于self-attention模型和LSTM模型的异常检测模型,同时提取了多元时间序列指标在时间和空间两种维度上的相关性。实验结果表明:该算法能够提高异常的检出率,F1值为0.854,比基线模型提升20.8%。(2)微服务运行状态深度表征:为了更全面准确地表征微服务的运行状态,便于下游根因定位模型的设计,本文提出一种基于性能指标计算微服务运行状态特征向量的方法。该向量通过异常检测模型获得,充分利用了异常检测模型的中间结果,避免了现有研究中指标排列位置对表征结果的影响。实验结果表明:该算法改善了下游根因定位模型的准确度,相比于现有表征方法,F1值提高了10.9%。(3)根因定位模型:为了充分提取微服务之间的动态依赖性,本文首先提出一种动态计算微服务之间依赖关系的方法,将微服务架构建模为图结构,然后利用图节点分类的思想,建立基于图卷积网络的根因定位模型,定位发生故障的微服务。实验结果表明:该算法解决了以往算法中微服务依赖关系提取不充分的问题,F1值比基线模型提升24%。本文提出的异常检测模型和根因定位模型均取得了优于基线算法的性能。这证明了它们的有效性,具有重要的实践意义和应用价值。本文共有图26幅、表13个、参考文献56篇。
微服务自适应流量控制与故障根因定位机制研究与实现
这是一篇关于微服务,流量控制,根因定位,智能运维的论文, 主要内容为随着互联网应用的动态性和复杂性不断增加,传统的单体软件架构已经难以适应用户需求的快速变化。越来越多的软件系统采用模块化方法,将大型应用分解为更小、更独立、更易于管理的微服务,从而提高系统的伸缩性、灵活性和维护性。但由于服务线上访问流量不可控制,且服务面临复杂多变的网络环境,存在流量过载和级联故障等故障风险。现有的流量控制方法存在响应不及时,适用场景单一,无法保障关键服务请求等问题。此外,当服务发生故障时,由于服务规模、依赖和复杂度的增加,服务故障根因难以准确定位。现有的服务故障根因定位方法忽略了服务动态依赖关系和保护机制对于异常传播概率的影响,导致服务故障根因定位不准确。本文主要研究如何在动态的微服务场景下保障服务的稳定性和可靠性。首先,考虑到服务线上存在异常访问,流量过载等风险,本文提出了一种基于过载保护策略的自适应动态熔断机制,通过细粒度监测网络状况和服务状况,动态地调整熔断器的灵敏度,快速地响应服务状况,并设计了一种基于漏桶算法的自适应多级限流机制,根据服务状况和系统负载状况对服务进行分级流量控制,优先保证关键服务请求成功概率,降低服务资源消耗,保障服务质量。其次,当服务发生故障时,为了快速且准确地定位到服务故障根因,本文提出了一种基于图推理的服务故障根因定位机制。该机制通过服务指标和调用跟踪数据动态地构建服务属性图,采用了一种两阶段动态校正策略来消除保护机制对异常传播概率的影响,并利用随机漫步方法来定位服务故障的根因。最后,本文设计并实现了基于Kubernetes等开源技术的微服务智能运维管理系统,集成了服务自适应流量控制及故障根因定位模块,并进行系统功能测试和性能验证。实验表明,本文提出的方法可以有效地减少服务资源消耗,保障关键服务请求质量,并提高服务故障根因定位的准确性。
微服务系统故障检测算法的研究与实现
这是一篇关于微服务,异常检测,根因定位,强化学习的论文, 主要内容为随着云服务的发展,用户的需求日益增多,微服务体系架构成为了当今企业解决单体应用模式的主要方案,其将一个大型的单一应用程序和服务划分为几十上百个微服务。微服务系统架构中的各个部分责任明确,调用关系复杂,故障发生时,准确定位故障服务节点有助于排查系统故障原因。由于微服务系统的故障通常是由于内存利用率、CPU利用率等关键性能指标发生异常导致的,因此想要对微服务系统的故障进行检测,需要在定位微服务系统发生故障的服务节点之后,对服务节点的关键指标进行检测和分析,找出导致系统故障的关键性能指标。针对上述微服务系统故障检测问题,本文提出了一种根据微服务系统调用链和微服务系统关键指标数据进行异常检测的算法。本文算法首先通过分析微服务系统的调用链数据,定位故障发生的服务节点,之后通过对故障服务节点的每一个关键指标进行异常检测,找到导致微服务系统发生故障的异常指标。本文的主要研究内容分为以下几个方面:(1)针对微服务系统进行了分析并将微服务系统的故障检测问题分解为两个关键子问题:微服务系统调用链中故障节点的定位问题,以及微服务系统中服务节点关键指标的异常检测问题。当微服务系统发生故障时进行异常检测时,首先需要获取故障发生前后微服务系统的调用链数据,根据调用链中每一个节点的调用时间进行分析,从而定位可能发生故障的服务节点。在得到异常服务节点后,需要对这些故障服务节点的关键指标进行异常检测,找出最可能发生异常的关键指标。(2)为微服务系统故障检测问题设计并实现故障检测框架,实现对微服务系统的故障检测任务。该框架主要包括调用链故障节点定位算法TAD和关键指标异常检测算法LVAE。其中TAD算法通过对微服务系统调用链数据分析和检测,实现对微服务系统故障节点的自动化定位,LVAE算法针对故障节点的每一个关键性能指标进行检测,并给出关键指标序列异常的概率从而找出导致系统发生故障的关键指标。最后通过两个算法的有序组合,完成对微服务系统的故障检测。(3)对本文给出的微服务系统故障检测算法进行对比实验并分析实验结果。本文主要通过i Forest、multi Dimesion、VAE等算法作为对比算法进行实验和分析,对比了每一个算法的精准率、召回率及F1-score。并使用了2020年国际Aiops挑战赛的数据集对微服务系统故障检测框架的异常检测能力进行了实验,证明了本文提出的微服务系统故障检测算法的有效性。
基于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异常,并提高了根因定位的准确率。
微服务场景下的根因定位研究
这是一篇关于微服务,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竞赛数据集上的效果均达到了最佳。
面向云原生系统的微服务异常检测与根因定位方法
这是一篇关于微服务,云原生,异常检测,根因定位,注意力机制的论文, 主要内容为近年来,越来越多的开发者开始构建基于云原生架构的应用程序,“云赋能”已经成为企业数字化转型的重要方向。面对由于系统规模剧增而产生的动态、多元、海量监测指标数据,传统依赖经验的人工监测手段已无法满足运维要求。在此背景下,智能运维应运而生,旨在利用人工智能技术实现高效、低成本运维。智能运维包含两个关键场景:异常检测和根因定位。异常检测技术通过分析监测指标曲线的内在特征检测系统异常行为;根因定位(故障根因分析)技术根据故障传播图定位导致系统出现异常的根源。近年来学者们提出了许多基于系统监测指标数据的异常检测和根因定位方法,这些方法取得了良好的效果,但仍存在一定的局限性:异常检测场景中多元指标相关性对检测结果的影响未深入探究;现有根因定位方法需要针对不同系统手动调参。针对上述问题,本文开展的主要工作包括:(1)提出了一种融合时序预测模型和孤立森林的异常检测方法。首先针对云原生多元监测时序数据的特点,结合特征注意力机制和时序注意力机制实现时序数据中潜在重要信息的挖掘;在此基础上,建立时序预测模型,通过对比时序数据预测值和真实值获得预测残差;最后将预测残差作为孤立森林的输入,依据数据集特点动态调整异常阈值实现异常检测。在两个真实数据集上的实验表明本文所提算法在准确率和召回率上优于几种经典的异常检测方法。(2)提出了一种基于随机游走的异常微服务自动排序方法。首先收集系统级和应用级监测指标构建云原生系统中的服务依赖图,随后对历史响应时间指标聚类得到各微服务节点的初始异常权重,并根据局部异常传播链路自动更新服务依赖图中的异常权重。最后,采用个性化Page Rank随机游走算法对异常微服务排序。在云原生环境中的实验表明本文提出的根因定位方法能够高效定位异常根源,同时面对可拓展的云原生系统具有较强鲁棒性。
微服务场景下的根因定位研究
这是一篇关于微服务,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竞赛数据集上的效果均达到了最佳。
基于边缘计算和微服务的视频监控系统
这是一篇关于视频监控,边缘计算,微服务,根因定位的论文, 主要内容为移动边缘计算的出现使得终端的计算任务可以卸载到边缘侧的高性能服务器进行处理,大大提高了各种应用的表现,其中视频监控是边缘计算应用最广泛的场景。传统云模式下进行视频监测的计算和传输带宽负载较重,边缘计算能对视频监控系统进行时延和效率优化,但仍存在两大问题:一方面,目前国内外的相关研究大多集中在计算机视觉算法模型或整体框架的设计,仍停留在仿真或验证阶段,没有实际搭建一整套物联网系统并部署业务算法对比效果。另一方面,由于视频监控系统功能复杂,未来随着业务丰富需要增加多种算法模块,但是传统架构扩展困难,随着虚拟化容器技术的发展,将多种算法模块进行单独部署可以大大减小了系统扩展的难度,但由于传统单步调试的方式不适用于微服务架构,在系统故障时定位根因模块十分困难,为了提高整个微服务系统的稳定性,设计高效的故障发现和根因定位算法十分必要。基于上述两大问题,本文搭建了一套基于边缘计算的视频监控系统,并设计了微服务归因算法快速发现系统故障并定位故障源头。论文的主要贡献为包括以下三个方面:一、边缘网络平台设计与实现:本文使用Amarisoft相关软件设备搭建传统蜂窝网络平台,采用OVS完成MEC的部署,实现边缘服务器基本的功能,并通过1080P视频传输任务对边缘计算平台进行功能测试和性能测试。总体上看,本文所搭建的边缘计算平台有效实现了边缘计算低延时、高速率的特点,为后续的业务搭建和算法仿真提供了基础。二、视频监控系统的搭建:针对视频监控业务设计了多个算法模型,验证边缘计算的应用价值。首先,在摄像头终端处通过GMG算法检测有效视频片段并通过H264算法压缩视频,模型精准率36.5%召回率95.7%,体积压缩比92.4%,缓解了带宽压力。其次,通过QT开发高速拍照软件并标注人脸关键点,通过数据增强手段丰富训练集,边缘侧基于transfer-learning固定Resnet若干层网络参数并负采样finetune训练生成人脸特征向量并存储,云端任务前置至边缘侧可降低80.6%平均延迟。最后,本文使用了联邦学习的思想,使用联邦平均法更新云端用户向量,并传递至边缘侧,通过师生网络和新增损失函数提高边缘模型精度,并定期新增边缘索引,在保证数据隐私的同时将边缘侧人脸识别模型精度提高了 15.3%。三、微服务系统监控与算法研究:本文提出了一种微服务故障的快速跟踪修复方法。第一部分是异常检测,通过箱线图、线性插值法等对数据预处理,通过DTW算法去相位偏差计算时序相似度,再通过Kmeans聚类和Tsfresh工具抽取时序特征,基于逻辑回归和随机森林算法联合检测异常。第二部分是根因定位,本文基于Zipkin和Prometheus分别对微服务系统进行调用链路级别和机器指标级别的监控,并利用Istio等工具注入故障。自定义统计策略构造有向有权的故障调用图,设计random-walk算法实现根因定位,算法平均耗时0.523s,根因排在top1和top2的准确率分别为84%和94%,与谷歌经典的Pagerank算法相比准确率提升了 23.5%和16.1%。
基于统计学习的KPI指标异常值检测和根本原因分析
这是一篇关于智能运维,异常检测,根因定位,统计学的论文, 主要内容为随着人工智能、大数据等新技术的迭代与飞速发展,数据规模与网络复杂度日益呈现爆炸式增长。由于各类网站和应用的增多,为了维持更新服务器的性能与质量,企业不断增加服务器数量和规模,这也就导致了IT系统越来越复杂化。针对当前运维的缺陷,需要有一种更高效、智能的运维技术。它可以大幅度提升运维效率和质量,包括监控的便捷部署、系统故障的及时发现与报警、根因定位、以及故障处理的智能决策。本文旨在通过搭建一套微服务架构的故障演练系统,利用Sock-shop、Kebernetes、Chaos Mesh等平台模拟生成微服务架构中会遇到的各类故障和异常情况,之后对微服务架构中的服务级和服务级的各项指标进行采集生成数据集。通过该数据集可以对关键图谱、机器学习、神经网络、非参数检验等技术算法进行支持。随后本文利用统计学的Score检验、机器学习算法、核密度估计算法与深度学习的USAD算法对带有标签的时序数据集进行检验,最终得到结论:相比基于统计检验和机器学习的异常检测算法而言,核密度估计的F1-score整体最高,各指标均能够达到0.9以上。同时,深度学习的USAD的F1-score也能达到较为理想的效果,且不需要频繁调参,只需要一组合理的正常数据即可,故认为USAD深度学习方法在这些算法中是最具有优势的异常检测算法,由于该方法需要正常数据用于对抗训练,这就更体现出了部署微服务架构以获得理想数据的重要性。在根因定位中,本论文所实现的微服务架构应用的故障演练平台可以完全支持Micro RCA算法的开发与调试。本文实现的故障演练系统可定制化地生成微服务架构海量指标的故障数据集,并支持多种主流异常检测与根因定位算法的开发与验证。同时该系统和思想可适用在各种基于微服务架构KPI指标的异常检测与根因定位算法的部署中,可为算法的开发提供模拟数据的支持与增强,提高算法的可学习性与准确性。
本文内容包括但不限于文字、数据、图表及超链接等)均来源于该信息及资料的相关主题。发布者:源码港湾 ,原文地址:https://m.bishedaima.com/lunwen/48778.html