小研究 - 一种复杂微服务系统异常行为分析与定位算法(二)

针对极端学生化偏差(Extreme Studentized Deviate,ESD)算法只能对单变量数据进行异常检测,难以对多变量数据进行异常行为度量,提出一种复杂微服务系统异常行为分析与定位(Multivariate Seasonal Hybrid ESD,M.S-H-ESD)算法。首先,对云平台的微服务运维日志数据进行提取,将多元日志数据进行加权归一得到一元数据。然后,对此一元数据采用多元周期混合ESD(Seasonal Hybrid ESD,S-H-ESD)算法对每个服务的异常度进行度量,进而获得异常度最高的服务,根据置信度和异常上限的设置,定位微服务系统异常的根因服务。实验结果表明,M.S-H-ESD算法对时间序列多维数据的异常行为检测具有较高的精确度、召回率和F1值,能够准确定位微服

务系统中的异常服务。

目录

[2 实验结果与分析](#2 实验结果与分析)

[2.1 仿真环境和数据选取](#2.1 仿真环境和数据选取)

[2.2 异常检测结果评估](#2.2 异常检测结果评估)

[2.3 微服务异常行为分析和定位](#2.3 微服务异常行为分析和定位)

[2.3.1 数据说明](#2.3.1 数据说明)

[2.3.2 微服务根因异常定位仿真结果](#2.3.2 微服务根因异常定位仿真结果)


2 实验结果与分析

2.1 仿真环境和数据选取

仿真实验采用的环境为64核Intel Xeon plati -num 8260 MCPU、 40 G 内 存、 Python3.7 、 Ubun -tu18.04 、 Cuda 10.2和Pytorch 1.6.0 。为了验证 M.S - H - ESD 方法的有效性,选取上证指数周期性明显的某股票 2019 --- 2022 年的股票交易数据作为实验数据,并对异常数据进行标记。

2.2 异常检测结果评估

在模 拟 实 验 中,分 别 采 用 K - means 、 PCA -Q统计方法和M.S - H - ESD 方法对异常进行检测,并对检测结果的准确性、召回率和 F1 等指标进行评估对比,结果如图 2 所示。

从实验结果可以看出, M.S - H - ESD 方法对于多变量周期数据的异常检测结果优于其他异常检测算法,并在召回率和 F 1 评估上有较大优势,分别高出30%和16% 。这是因为,对于时间序列数据,M.S - H - ESD算法考虑了初始阶段的周期和趋势,在提取特征时,首先去除了周期和趋势,凸显了数据特征。

2.3 微服务异常行为分析和定位
2.3.1 数据说明

在复杂微服务系统中,涉及到不同时间序列的服务日志数据,每一个系统的日志数据都需要分别提 取。提 取 日 志 数 据 并 将 其 构 造 为 多 元 数据,主要包括 OSB ( Oracle Service Bus )、 CSF ( Com -mon Service Framework )和 JDBC ( Java DatabaseConnectivity )等调用类型、开始时刻、持续时间、调用服务、被调服务以及 CPU 占用率、内存占用率和页面缓存等关键性能指标(KeyPerformance In -dicator , KPI )。 部 分 数 据 的 格 式 和 内 容如 表 1所示。

2.3.2 微服务根因异常定位仿真结果

微服务调用的数据不能直接用于根服务异常定位。复杂微服务系统的调用结构如图 3 所示。基于调用服务和被调服务分组数据,使用 M.S - H -ESD 算法获得每个组服务异常得分值,为分组服务对异常调用得分进行排序,选择前5%作为微服务根因异常的选择对象。

利用 M.S - H - ESD算法对多元数据处理后,根因异常服务在不同参数的评分结果如表 2 所示。 α和 u 值越小,需要定位的根因异常服务就越少,反之亦然。因此,根据情况,可以更准确地将较小的参数分配给问题服务。调整异常的置信度 α 和异常得分的上限 u ,会得到不同服务下异常得分的值。不同配置参数下根本原因异常得分的折线图如图4所示。从图4中可以看出,异常的置信度 α 和异常得分的上限 u 并没有改变异常根因服务评估 结 果的趋势。

表2反映了异常根因服务得分和定位结果,其中异常得分的上限 u 越高,得到的异常根因服务越紧致,反之,得到的异常根因服务越松弛。按照得分结果进行排序,最有可能发生异常的根因服务就在其中,排序愈靠前,发生异常的可能性越大。通过对服务异常的评分排序,可以得到复杂微服务系统的根因异常分析结果,如表3所示。

相关推荐
Pasregret3 分钟前
多级缓存架构深度解析:从设计原理到生产实践
缓存·架构
国科安芯8 分钟前
面向高性能运动控制的MCU:架构创新、算法优化与应用分析
单片机·嵌入式硬件·安全·架构·机器人·汽车·risc-v
绵绵细雨中的乡音8 分钟前
Linux进程学习【基本认知】
linux·运维·学习
matrixlzp19 分钟前
K8S Service 原理、案例
云原生·容器·kubernetes
珹洺1 小时前
Linux操作系统从入门到实战(三)Linux基础指令(上)
linux·运维·服务器
剁椒排骨1 小时前
win11什么都不动之后一段时间黑屏桌面无法显示,但鼠标仍可移动,得要熄屏之后才能进入的四种解决方法
运维·windows·经验分享·计算机外设·win11·win10
angushine1 小时前
让Docker端口映射受Firewall管理而非iptables
运维·docker·容器
Java技术小馆1 小时前
SpringBoot中暗藏的设计模式
java·面试·架构
归寻太乙2 小时前
Linux环境变量
linux·运维·服务器
m0Java门徒2 小时前
面向对象编程核心:封装、继承、多态与 static 关键字深度解析
java·运维·开发语言·intellij-idea·idea