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

文档序号:34710670发布日期:2023-07-07 14:07阅读:41来源:国知局
基于多指标时序预测的微服务系统异常检测方法及装置与流程

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


背景技术:

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

2、通过监控手段,微服务在运行中会持续产生各类指标数据,其中包括微服务系统指标、微服务业务指标等。利用上述指标数据构建有监督或者无监督的机器学习模型能够基于系统运行状态实现异常情况检测。针对微服务异常检测场景,目前已有学者提出相关方法:文献[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.]提出了一种基于调用链的微服务异常监测方法,通过生成模型对实时保存的数据样本进行异常检测。基于调用链信息构建的链路向量包含较多无用信息,异常检测准确率有进一步提升空间。


技术实现思路

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

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

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

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

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

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

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

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

9、进一步地,步骤s1具体包括:

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

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

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

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

14、

15、其中,表示指标数据归一化后的结果,表示待处理指标数据,和表示该监测指标在历史时间窗口内的最大值和最小值。

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

17、进一步地,步骤s2具体包括:

18、s2.1:给定维监测指标时间序列,其中表示步骤s1中收集数据的初始时刻到当前时刻的时间段,通过softattention构建特征注意力权重机制获取维指标特征在时刻的注意力分数。具体来说,根据时刻的隐含层状态和记忆单元状态组合得到时刻的注意力分数:

19、

20、其中,、和是特征注意力机制所学习的参数,代表监测指标个数。

21、s2.2:将注意力分数送入softmax激活函数,得到维指标数据特征在时刻的注意力权重:

22、

23、s2.3:更新时刻的编码器隐层状态。在时刻,对于每一维时序特征,组合权重更新其重要程度,将更新后的输入变量拼接得到时刻的输入特征向量:

24、

25、最终时刻的编码器隐层状态更新为:

26、

27、其中表示lstm编码器函数。

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

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

30、进一步地,步骤s3具体包括:

31、s3.1:在解码器阶段,获取时刻的注意力权重:

32、在时刻,每一个编码器隐层状态权重通过前一时刻的解码器隐层状态和记忆单元状态计算得到:

33、

34、

35、其中表示预测的当前时刻,为状态的拼接,、和为需要学习的隐藏层参数,注意力权重代表第个隐藏层状态的重要性,表示时刻的隐藏层状态。

36、s3.2:累加权重得到上下文向量。将隐藏层状态作为时序模块输入,时间注意力机制根据权重累加所有时刻的,得到向量:

37、

38、进一步地,步骤s4具体包括:

39、s4.1:将时刻的上下文向量和待预测目标历史数据组合经感知器融合得到时序注意力解码器的隐层输入:

40、

41、其中和为网络权重和偏置项。

42、s4.2:组合隐层信息和待预测值历史数据,基于非线性自回归(nonlinearautoregressive exogenous,narx)模型对预测结果进行回归。具体来说,组合时刻的预测值计算时刻的解码器隐层信息:

43、

44、其中为前一时刻的隐层状态,的拼接组合,为lstm层。

45、s4.3:预测下一时刻的指标值。最终预测值通过预测目标历史数据和监测指标历史数据:

46、

47、其中f表示解码器函数,代表解码器隐藏层状态信息,表示时序注意力机制的上下文语义信息,、表示偏置项。和的组合经过权重为、偏差为的全连接层最终得到指标预测值。

48、进一步地,步骤s5具体包括:

49、通过非线性自回归时序预测模型,得到预测值集合,将与真实值集合比较得到预测残差。残差越大表示监测指标实际结果偏离正常预测水平越多。在个指标中,第个指标在时刻的预测残差如下:

50、

51、其中,和分别表示时刻的预测值和真实值。历史时间窗口中的残差序列可以表示为:

52、

53、其中,表示距离当前时刻 t前 h时刻的历史残差值,表示距离当前时刻前 l s时刻的历史残差值。

54、进一步地,步骤s6具体包括:

55、s6.1:输入预测残差集合,从中随机选择个样本点作为样本子集作为模型树根节点。

56、s6.2:从维特征中随机选择一个特征,并在特征范围内生成一个满足公式以下条件的随机切割点:

57、

58、其中, e ij表示预测残差集合中第 i时刻的第 j个特征, x ij表示样本子集中第 i时刻的第 j个特征。

59、s6.3:根据生成一个超平面划分当前数据空间:根据二分法将特征下的样本点根据切割点划分至当前节点的左右子分支。对节点的子分支递归执行步骤s6.2和步骤s6.3,不断构造新的叶子节点,直到满足停止条件:所有样本点均划分至不同的数据空间或孤立树高度到达设定的最大值。

60、循环步骤s6.1至步骤s6.3,生成棵itree。

61、s6.4:根据itree计算各样本数据在孤立森林中的平均高度,并对残差集合中样本点的平均路径长度归一化处理。最终通过公式计算异常得分:

62、

63、

64、

65、其中表示二叉搜索树的平均路径长度,用于归一化,表示样本个数, h( i)为调和数,为常数,约为0.57,表示在所有itree中的平均路径长度;

66、s6.5:设置合理阈值检测微服务系统异常。设定异常概率的阈值为历史指标数据三倍标准差,若某时刻样本的异常分数和异常分数平均值之差大于,则该样本将划分为异常数据。

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

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

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

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

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

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

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

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

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

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

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1