掌桥专利:专业的专利平台
掌桥专利
首页

基于多指标时序预测的微服务系统异常检测方法及装置

文献发布时间:2024-04-18 19:54:28


基于多指标时序预测的微服务系统异常检测方法及装置

技术领域

本发明涉及微服务系统检测领域,具体涉及一种基于多指标时序预测的微服务系统异常检测方法及装置。

背景技术

互联网的高速发展积累了大量计算、存储、网络、服务、应用和数据等资源,传统单体架构已经不能满足复杂的资源管理需要。在推进数字化的过程中,云计算扮演着重要的角色,为互联网的繁荣发展提供有力的保障和支撑。以云计算为平台搭建的微服务系统继承了云计算的极致弹性,微服务系统将传统的应用程序分解为细粒度、组件化的、松耦合的微服务。微服务对部署、运维,通讯均实现了标准化,让服务与服务之间的互联互通变得更容易,且支持跨平台,做到一次编写、一次定义、多处运行。但微服务带来便捷的同时,也产生了一些新问题:随着微服务数量和范围的扩大,运行环境和服务依赖变得更加复杂,使得管理和运维难度不断攀升。根据《Digital Enterprise Journal》针对全球Top企业运维管理的研究报告,在过去几年中,被调研的所有企业中仅有39%的异常被主动检测并产生预警,系统整体性能下降导致的损失达到平均每月近213万美元,且修复重大异常事件平均需要花费3.7小时。面对数据量庞大、运行环境复杂、监测指标繁多的微服务环境,传统依赖人工经验的运维方式已经不能满足业务要求,微服务系统具有服务调用复杂、指标数量多等特点。在复杂服务依赖网络中快速检测异常,需依赖关键监测指标,掌握应用系统的运行状态。

通过监控手段,微服务在运行中会持续产生各类指标数据,其中包括微服务系统指标、微服务业务指标等。利用上述指标数据构建有监督或者无监督的机器学习模型能够基于系统运行状态实现异常情况检测。针对微服务异常检测场景,目前已有学者提出相关方法:文献[S. Lin, R. Clark, R. Birke, S. Schonborn, N. Trigoni, andS.Roberts, “AnomalyDetection for Time Series Using VAE-LSTM Hybrid Model,” inICASSP 2020 - 2020 IEEEInternational Conference on Acoustics, Speech andSignal Processing (ICASSP),Barcelona, Spain, May 2020, pp. 4322–4326.]使用重构模型对正常的时序数据进行训练,将预测误差建模为多元高斯分布实现异常检测,但模型构建过程中忽略了多元指标之间的关联性,无法覆盖多种异常场景。文献[P. Liu etal., “Unsupervised Detection of Microservice Trace Anomalies throughService-Level Deep Bayesian Networks,” in ISSRE, Coimbra, Portugal, Oct. 2020, pp.48–58.]提出了一种基于调用链的微服务异常监测方法,通过生成模型对实时保存的数据样本进行异常检测。基于调用链信息构建的链路向量包含较多无用信息,异常检测准确率有进一步提升空间。

发明内容

针对异常检测场景中指标繁多、噪声较大的技术问题,本发明结合微服务多元指标相关性构建特征注意力和时序注意力模型,挖掘微服务系统指标和微服务业务指标中的潜在信息,提升微服务系统异常检测准确率。

为了实现上述目的,本发明提供了一种基于多指标时序预测的微服务系统异常检测方法,包括以下步骤:

S1:采集微服务系统的多元指标时序数据,并对多元指标时序数据进行预处理,所述多元指标时序数据包括:系统指标和业务指标组成的时序数据;

S2:根据预处理后的多元指标时序数据构建特征注意力编码器,赋予指标特征不同的注意力权重;

S3:使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段的注意力权重;

S4:构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合;

S5:根据多元指标真实值和非线性自回归时序预测模型生成的多元指标预测值生成预测残差;

S6:根据预测残差计算各指标的异常得分,根据孤立森林设置异常概率的阈值,根据异常得分与阈值的关系获得微服务器系统指标异常检测结果。

进一步地,步骤S1具体包括:

S1.1:所述微服务系统指标数据包含物理服务器和容器的CPU使用情况、内存使用情况、I/O和网络负载等;微服务业务指标数据主要聚焦微服务的响应时间、网络请求量和响应成功率等指标数据。特别地,对于响应时间设置P99、P95和P90指标,分别表示响应时间指标的99%、95%和90%分位数。

S1.2:所述预处理操作包含缺失值处理、数据标准化;

所述缺失值处理指对于对于微服务系统指标数据和微服务业务指标数据而言,对极少量缺失数据行或数据列的数据采取平均值填充方法进行补全修复。

所述数据标准化指在数据预处理阶段,为了降低不同监测指标量纲和波动程度对模型预测结果的影响,对所有指标数据采用公式进行归一化处理:

其中,

部分研究表明,针对多元监测指标时间序列数据,相比针对单一指标建模,结合指标间多元相关性能够更实现更准确的预测。考虑到该特性,本发明根据多元指标之间特征相关性建立特征注意力机制。

进一步地,步骤S2具体包括:

S2.1:给定

其中,

S2.2:将注意力分数

S2.3:更新时刻

最终时刻

其中

区别于简单赋予输入特征相同权重,引入特征注意力机制使模型在训练过程能够自适应地关注对指标变化有重要影响的特征,从而起到突出重要特征同时抑制无用信息的作用。

除了特征相关性之外,数据在时间维度上的表现对预测结果也有较大影响,具体来说,较近时间点对预测值的影响往往大于较远时间点。相关研究指出时间序列预测模型的性能与编码器输入长度成反比。相比于直接缩短编码器的输入长度,引入时间注意力机制可以提取出全部时间序列中的关键序列点,从而在控制编码器长度的同时实现较好的预测效果。

进一步地,步骤S3具体包括:

S3.1:在解码器阶段,获取

在时刻

其中

S3.2:累加权重得到上下文向量。将隐藏层状态

进一步地,步骤S4具体包括:

S4.1:将

其中

S4.2:组合隐层信息和待预测值历史数据,基于非线性自回归(Nonlinearautoregressive exogenous,NARX)模型对预测结果进行回归。具体来说,组合

其中

S4.3:预测下一时刻

其中F表示解码器函数,

进一步地,步骤S5具体包括:

通过非线性自回归时序预测模型,得到预测值集合

其中,

其中,

进一步地,步骤S6具体包括:

S6.1:输入预测残差集合

S6.2:从

其中,

S6.3:根据

循环步骤S6.1至步骤S6.3,生成

S6.4:根据iTree计算各样本数据

其中

S6.5:设置合理阈值检测微服务系统异常。设定异常概率的阈值为历史指标数据三倍标准差

此外,为了实现上述目的,本发明还提供了一种基于多指标时序预测的微服务系统异常检测装置,包括以下模块:

数据采集及预处理模块,用于采集微服务系统的多元指标时序数据,并对时序数据进行预处理,所述多元指标时序数据包括:系统指标和业务指标组成的时序数据;

注意力权重赋值模块,用于根据预处理后的多元指标时序数据构建特征注意力编码器,赋予指标特征不同的注意力权重;

时序注意力更新模块,用于使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段权重;

自回归时序预测模块,用于构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合

预测残差生成模块,用于根据多元指标真实值和非线性自回归时序预测模型生成的多元指标预测值生成预测残差;

指标异常检测模块,用于根据预测残差计算各指标的异常得分,根据孤立森林设置异常概率的阈值,根据异常得分与阈值的关系获得微服务器系统指标异常检测结果。

本发明提供的技术方案具有以下有益效果:

(1)本发明所构建的微服务多元指标特征注意力模型,相比于针对单一指标建模,能够根据多元指标间的相关性挖掘特征之间的潜在信息,增强模型的适用范围;

(2)除了特征相关性之外,数据在时间维度上的表现对预测结果也有较大影响,本发明所构建的微服务多元指标时序注意力模型,以提取出全部时间序列中的关键序列点,从而在控制编码器长度的同时提升异常检测性能。

附图说明

下面将结合附图及实施例对本发明作进一步说明,附图中:

图1是本发明中的一种基于多指标时序预测的微服务系统异常检测方法的执行流程图;

图2是本发明中的基于双注意力时序预测模型和孤立森林的异常检测架构图;

图3是本发明中的特征注意力机制模型;

图4是本发明中的时序注意力机制模型;

图5是本发明中的双注意力时序预测模型整体框架;

图6是本发明中的双注意力时序预测模型训练过程;

图7是本发明中一个实施例在数据集上预测序列和真实序列的残差示意图;

图8是本发明中的特征注意力在预测过程中的权重;

图9是本发明中的时序注意力在预测过程中的权重;

图10是本发明中的一种基于多指标时序预测的微服务系统异常检测装置的结构示意图;

图11是本发明中的一种电子设备结构示意图。

具体实施方式

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

为了对本发明的技术特征、目的和效果有更加清楚的理解,现对照附图详细说明本发明的具体实施方式。

下面是应用本发明的方法进行微服务系统多元指标异常检测的具体实施例,实施例采用两个数据集,其中一个数据集选取自2019年国际AIOps挑战赛(InternationalAIOps Challenge,IAC),该数据集(IAC2019)从运行大数据批处理的微服务系统中收集得到,包含实时性能指标和黄金业务指标,在不同维度反映系统的运行状况。另一个数据集来自于包含11个微服务的电子商务系统Online-boutique。在该系统上搭建数据采集工具Node Exporter和Prometheus,分别采集系统级指标和应用级指标,如表1所示;随后通过注入CPU满载、网络延迟或容器暂停等方式得到异常数据和标签:

最终两个数据集的详细特征如表2所示;

基于上述两个数据集,如图1、图2所示,本发明的实施步骤具体如下:

首先,执行步骤S1,采集微服务系统指标和微服务业务指标组成多元指标时间序列数据,并对多元指标时序数据进行预处理生成k维时间序列;

进一步地,执行步骤S2,根据预处理后的多元指标时序数据构建特征注意力编码器,如图3所示,赋予指标特征不同的注意力权重,具体包括:

步骤S2.1:给定

其中,

步骤S2.2:将注意力分数

步骤S2.3:更新时刻

最终时刻

其中

进一步地,执行步骤S3,使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段权重,如图4所示;具体包括以下步骤:

步骤S3.1:在解码器阶段,获取

在时刻

其中

步骤S3.2:累加权重得到上下文向量。将编码器隐藏层状态

进一步地,执行步骤S4:图5表示双注意力时序预测模型整体框架,基于双注意力时序预测模型整体框架构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合,具体包括:

步骤S4.1:将

其中

步骤S4.2:组合隐层信息和待预测值历史数据,基于非线性自回归(Nonlinearautoregressive exogenous,NARX)模型对预测结果进行回归。具体来说,组合

其中

步骤S4.3:预测下一时刻

其中F表示解码器函数,

图6展示了本发明中的双注意力时序预测模型训练过程,进一步地,执行步骤S5:根据多元指标真实数据和非线性自回归时序预测值生成预测残差,具体包括:

通过非线性自回归时序预测模型,得到预测值集合

其中,

其中,

根据本发明的一个实施例,将IAC2019数据集中CPU指标时间序列的真实曲线和预测曲线对比,如图7所示。其中柱状部分为指标时间序列中异常出现的时间段,两条曲线分别表示时序真实值和预测值。

进一步地,执行步骤S6:孤立森林设置阈值检测微服务关键指标异常

步骤S6.1:输入预测残差集合

步骤S6.2:从

其中,

步骤S6.3:根据

循环步骤S6.1至步骤S6.3,生成

步骤S6.4:根据iTree计算各样本数据

其中

步骤S6.5:设置合理阈值检测微服务系统异常。设定异常概率的阈值为历史指标数据三倍标准差

作为本发明的一个实施例,表3展示了不同对比方法的综合性能表现。本发明所提出的微服务异常检测DA-LSTM+iF方法在IAC2019和Online-boutique数据集上的表现均优于其他对比方法。同时也可以看出所有被评估的异常检测方法在Online-boutique数据集上的表现整体低于在IAC2019数据集上的表现,主要有以下几个原因:第一,Online-boutique数据集中存在部分真实场景下的非异常性波动,这些通常由于云原生系统环境动态变化造成,持续时间较短。这些波动对业务无显著影响,但算法易将其检测为异常。第二,Online-boutique数据集表现出的长短期周期性不够明显,异常所表现出的特征不易被捕捉。

图8展示了在Online-boutique数据集上预测内存使用率指标时间序列过程中多维指标特征在编码器单元的权重。由于CPU利用率指标、Pod负载指标特征和内存使用率指标和具有较强的相关性,注意力赋予其更高的权重。同时对相关性较低的Pod延迟指标、Pod成功率指标则赋予较低的权重。同时,时间注意力机制在时间序列上也现出更好的建模能力,如图9所示,距离当前预测时刻更近的时间段在预测过程被赋予更高的权重。本发明提出的异常检测模型能够自适应地赋予历史上下文信息不同的权重,相比于传统时序模型表现出更强的重要信息提取能力。

下面对本发明提供的一种基于多指标时序预测的微服务系统异常检测装置进行描述,下文描述的微服务系统异常检测装置与上文描述的微服务系统异常检测方法可相互对应参照。

如图10所示,一种基于多指标时序预测的微服务系统异常检测装置,包括以下模块:

数据采集及预处理模块001,用于采集微服务系统的多元指标时序数据,并对时序数据进行预处理,所述多元指标时序数据包括:系统指标和业务指标组成的时序数据;

注意力权重赋值模块002,用于根据预处理后的多元指标时序数据构建特征注意力编码器,赋予指标特征不同的注意力权重;

时序注意力更新模块003,用于使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段权重;

自回归时序预测模块004,用于构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合

预测残差生成模块005,用于根据多元指标真实值和非线性自回归时序预测模型生成的多元指标预测值生成预测残差;

指标异常检测模块006,用于根据预测残差计算各指标的异常得分,根据孤立森林设置异常概率的阈值,根据异常得分与阈值的关系获得微服务器系统指标异常检测结果。

基于但不限于上述装置,所述数据采集及预处理模块001具体用于:

采集包含物理服务器和容器的CPU使用情况、内存使用情况、I/O和网络负载等系统指标;采集包括微服务的响应时间、网络请求量和响应成功率等业务指标数据。特别地,对于响应时间设置P99、P95和P90指标,分别表示响应时间指标的99%、95%和90%分位数。

对各指标组成的时序数据进行缺失值处理、数据标准化;

所述缺失值处理指对于对于微服务系统指标数据和微服务业务指标数据而言,对极少量缺失数据行或数据列的数据采取平均值填充方法进行补全修复。

所述数据标准化指在数据预处理阶段,为了降低不同监测指标量纲和波动程度对模型预测结果的影响,对所有指标数据采用公式进行归一化处理:

其中,

基于但不限于上述装置,所述注意力权重赋值模块002具体用于:

给定

其中,

将注意力分数

更新时刻

最终时刻

其中

基于但不限于上述装置,所述时序注意力更新模块003,具体用于:

在解码器阶段,获取

/>

其中

累加权重得到上下文向量:将编码器隐藏层状态

基于但不限于上述装置,所述自回归时序预测模块004,具体用于:

其中

在解码器阶段,组合隐层信息和待预测值历史数据,基于非线性自回归模型对预测结果进行回归:组合

其中

预测下一时刻的指标值:最终预测值

其中F表示解码器函数,

基于但不限于上述装置,所述预测残差生成模块005,具体用于:

通过非线性自回归时序预测模型得到的预测值集合

其中,

/>

其中,

基于但不限于上述装置,所述指标异常检测模块006,具体用于:

输入预测残差集合

其中,

根据

根据iTree计算各样本数据

其中

通过设置异常概率的阈值检测微服务系统异常。本实施例中设置异常概率的阈值为历史指标数据三倍标准差

如图11所示,示例了一种电子设备的实体结构示意图,该电子设备可以包括:处理器(processor)610、通信接口(CommunicationsInterface)620、存储器(memory)630和通信总线640,其中,处理器610、通信接口620、存储器630通过通信总线640完成相互间的通信。处理器610可以调用存储器630中的逻辑指令,以执行上述微服务系统异常检测方法的步骤,具体包括:采集微服务系统的多元指标时序数据,并对时序数据进行预处理,所述多元指标时序数据包括:系统指标和业务指标组成的时序数据;根据预处理后的多元指标时序数据构建特征注意力编码器,赋予指标特征不同的注意力权重;使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段的注意力权重;构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合;根据多元指标真实值和非线性自回归时序预测模型生成的多元指标预测值生成预测残差;根据预测残差计算各指标的异常得分,根据孤立森林设置异常概率的阈值,根据异常得分与阈值的关系获得微服务器系统指标异常检测结果。

此外,上述的存储器630中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random15 AccessMemory)、磁碟或者光盘等各种可以存储程序代码的介质。

又一方面,本发明实施例还提供了一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述微服务系统异常检测方法的步骤,具体包括:采集微服务系统的多元指标时序数据,并对时序数据进行预处理,所述多元指标时序数据包括:系统指标和业务指标组成的时序数据;根据预处理后的多元指标时序数据构建特征注意力编码器,赋予指标特征不同的注意力权重;使用LSTM作为编码器函数,通过时序注意力更新不同时间阶段的注意力权重;构建非线性自回归时序预测模型,生成下一时刻多元指标预测值集合;根据多元指标真实值和非线性自回归时序预测模型生成的多元指标预测值生成预测残差;根据预测残差计算各指标的异常得分,根据孤立森林设置异常概率的阈值,根据异常得分与阈值的关系获得微服务器系统指标异常检测结果。

需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者系统不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者系统所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者系统中还存在另外的相同要素。

上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。词语第一、第二、以及第三等的使用不表示任何顺序,可将这些词语解释为标识。

以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。

相关技术
  • 一种基于调用图分析的微服务软件系统异常检测方法
  • 基于多指标时序预测的微服务系统异常检测方法及装置
  • 基于时序的多维度指标异常检测方法及装置
技术分类

06120116373256