当前位置: 首页 > news >正文

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

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

目录

1 M.S - H - ESD 算法

1.1 数据处理

1.2  异常行为分析与定位


1 M.S - H - ESD 算法

基于多元微服务日志的根因服务异常分析方法主要包含多元数据处理、模型训练和异常评分、模型评估以及故障修复等4个部分,具体过程示意图如图1所示。

 1 )多元数据处理。基于微服务系统的半结构化日志,通过正则表达式或自动抽取工具抽取相关的重要信息,将半结构化的日志信息转变为结构化的数据。对结构化数据清洗和标准化后,提取多元数据的特征值和特征根,求出每一维度数据的贡献度,对多元数据进行加权归一处理。

2 )模型训练和异常评分。对获取的服务数据按调用方式分组,对每组服务使用 M.S - H -
ESD算法计算每个服务为其他服务调用的服务评分。根据设置的阈值得到根服务的异常和定位结果,其中异常得分的上限越高,得到的异常根因服务越紧致,反之得到的异常根因服务越松弛。最后,按照得分结果进行排序,最有可能发生异常的根因服务就 在其 中,排 序 愈 靠 前,发 生 异 常 的 可 能 性越大。

3 )模型评价。常用的评价指标有准确率、查全率和 F1 值。准确性是最常见的评价指标,精确度越高,分类器越好,在对非均衡分布数据集的召回率和 F1 值的应用中,其是更客观地反映分类器在评价方面的指标。

4 )故障修复。根据根因服务的异常分析结果进行故障修复,故障修复包括人工修复或系统自愈。

1.1 数据处理

对多元微服务日志数据某一实体属性的研究涉及 p 个指标,分别用 x 1 , x 2 ,…, xp 表示,则 p 个指标组成的 p 维随机向量 x = ( x 1 , x 2 ,…, xp )T 。设随机向量 x 的均值为 μ ,协方差矩阵为 Ψ 。 x 的线性变换可以形成一个新的合成变量 y ,即新的合成变量 y 可以用原变量线性表示为:


 

算法步骤如下:

步骤1:读取输入,并对输入数据采用 minmax方法标准化,将初步处理后的数据记为 D 。

步骤2:利用主成分分析 [30 ] (Principal Compo -nents Analysis , PCA )模型得到 D 的协方差矩阵 Ψ的特征向量 X 、特征值 θ 和方差贡献率 υ 。

步骤3:计算成分得分系数矩阵 K 。 

步骤4:计算 D 中每个属性的权重。

步骤5:返回每一条记录的加权归一化数据。

步骤6:根据原始数据调用服务和被调服务对一元数据 F i 进行分组。

1.2  异常行为分析与定位

利用 ESD 算法获取一元数据的异常点,具体步骤如下:

步骤1:计算均值的数据序列应先删除上一轮最大残差样本数据,均值偏离最远残差的表达式为:

 步骤2: 计算临界值:

式中:n 为数据集的样本数; α 为置信度。

步骤3: 对比均值偏离最远残差与临界值大小,若 R i > λj ,则原假设 H 0 不成立,该样本点为异常点。

步骤4:重复以上步骤 k 次至算法结束。

ESD算法在处理原始数据的时候,并未考虑微服务日志数据本身具有时间序列的特征,为了更好地提取特征,在原有一元数据的基础上,对数据进行去周期和趋势。

基于 Loess的周期趋势分解( Seasonal- TrendDecompositionProcedure based on Loess , STL )将时间序列数据分解为趋势分量、周期分量和余项分量。将ESD 算法运用于 STL 分解后的余项分量中,即可得到时间序列上的异常点,但在余项分量中存在着部分假异常点。为了解决这种假阳性降低准确率的问题,采用中位数( median )替换趋势分量。设原时间序列数据为 T , STL分解后的周期分量 S T ,则残差余项分量的计算表达式为:

考虑到个别异常值会极大地拉伸均值和方差,导致式中的余项分量计算未能很好地捕获到部分异常点,召回率偏低。绝对中位差的计算表达式为:

 以上两式子代入后:

设某调用服务 i 发生的异常数为 a ,被调用服务发生的异常数为 b ,调用服务异常得分为:

由调用服务异常得分 L i 得到调用服务加权异常得分的表达式为:

 M.S - H - ESD算法具体步骤如下:

步骤1: 读取结构化日志数据。

步骤2: 利用对读取数据进行加权并归一化得到一元数据。

步骤3: 根据调用服务和被调服务对一元数据进行分组提取。

步骤4: 将每条数据利用计算均值偏离最远残差 R j 和临界值 λj 。若 R j > λ j ,则 H 0原假设不为真,采样点为异常点。调整置信度 α 和异常得分的上限 u ,会得到不同服务下异常得分的值。记录该所有采样点,即分组的调用服务和被调服务的异常得分矩阵 S 。

步骤5: 根据调用服务和被调用服务矩阵的异常得分 S ,加权得到每个服务的异常度得分 G i 。

步骤6: 对微服务的异常度得分 G 进行排序,即为获取根本原因异常服务,且异常可能性顺序递减。

相关文章:

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

针对极端学生化偏差(Extreme Studentized &#…...

代码版本管理工具 git

1. 去B站看视频学习,只看前39集: 01-Git概述(Git历史)_哔哩哔哩_bilibili 2.学习Linux系统文本编辑器的使用 vi编辑器操作指令分享 (baidu.com) (13条消息) nano编辑器的使用_SudekiMing的博客-CSDN博客 windows下载安装Git官…...

【计算机视觉中的 GAN 】如何稳定GAN训练(3)

一、说明 在上一篇文章中,我们达到了理解未配对图像到图像翻译的地步。尽管如此,在实现自己的超酷深度GAN模型之前,您必须了解一些非常重要的概念。如本文所提的GAN模型新成员的引入:Wasserstein distance,boundary eq…...

一文讲清楚地图地理坐标系

前言 我最近在做一个和地图有关的项目,这里本人地图采用的是mapbox,其中涉及一个功能需要根据用户输入的地点直接定位到地图上的对应的位置,本人开始想的是直接调用百度的接口根据地名直接获取坐标,发现在地图上的位置有偏移不够…...

助力青少年科技创新人才培养,猿辅导投资1亿元设立新基金

近日,在日本千叶县举办的2023年第64届国际数学奥林匹克(IMO)竞赛公布比赛结果,中国队连续5年获得团体第一。奖牌榜显示,代表中国参赛的6名队员全部获得金牌。其中,猿辅导学员王淳稷、孙启傲分别以42分、39分…...

代码随想录算法训练营之JAVA|第十八天| 235. 二叉搜索树的最近公共祖先

今天是第 天刷leetcode,立个flag,打卡60天,如果做不到,完成一件评论区点赞最高的挑战。 算法挑战链接 235. 二叉搜索树的最近公共祖先https://leetcode.cn/problems/lowest-common-ancestor-of-a-binary-search-tree/descriptio…...

IO进程线程第五天(8.2)进程函数+XMind(守护进程(幽灵进程),输出一个时钟,终端输入quit时退出时钟)

1.守护进程&#xff08;幽灵进程&#xff09; #include<stdio.h> #include<head.h> int main(int argc, const char *argv[]) {pid_t cpid fork();if(0cpid){ //创建新的会话pid_t sidsetsid();printf("sid%d\n",sid);//修改运行目录为不可卸载的文件…...

物联网远程智能控制设备——开关量/正反转百分比控制

如今生产生活的便利性极大程度上得益于控制技术的发展&#xff0c;它改变了传统的工作模式&#xff0c;并将人们从【纯劳力】中解放出来。如今&#xff0c;随着科学技术的进步&#xff0c;控制器的种类及应用领域也越来越多。 物联网远程智能控制设备就是一种新型的、能够用于…...

echarts图表基本使用

折线图 import * as echarts from echarts;const chartDom document.getElementById(main); const myChart echarts.init(chartDom); const option {xAxis: {type: category,data: [Mon, Tue, Wed, Thu, Fri, Sat, Sun]},yAxis: {type: value},series: [{data: [820, 932, …...

排序进行曲-v1.0

排序 排序是将一组数据按照一定的规则进行排列的过程。在计算机科学中&#xff0c;排序是一 种常见的算法问题&#xff0c;通常用于对数据进行整理、查找、统计等操作。概念解读 基本概念 排序算法&#xff1a;排序算法是实现数据排序的具体方法。常见的排序算法包括冒泡排序…...

算法入门篇——用位运算解决一些问题

目录 1.判断一个数是2的次方数 2.统计一个数&#xff0c;它的二进制数中&#xff0c;1的个数 3.在2*&#xff08;n-1&#xff09;个数中&#xff0c;找到只出现一次的那个数 1.判断一个数是2的次方数 这个问题有好几种做法&#xff0c;但是最优雅的解法是用’位运算‘来做。…...

腾讯云-宝塔添加MySQL数据库

1. 数据库菜单 2. 添加数据库 3. 数据库添加成功 4. 上传数据库文件 5. 导入数据库文件 6. 开启数据库权限 7. 添加安全组 (宝塔/腾讯云) 8. Navicat 连接成功...

【雕爷学编程】MicroPython动手做(27)——物联网之掌控板小程序

知识点&#xff1a;什么是掌控板&#xff1f; 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片&#xff0c;支持WiFi和蓝牙双模通信&#xff0c;可作为物联网节点&#xff0c;实现物联网应用。同时掌控板上集成了OLED…...

Mysql删除重复数据通用SQL

在日常开发过程中&#xff0c;可能会出现一些 bug&#xff0c;导致 Mysql 数据库数据重复&#xff0c;需要删除重复数据&#xff0c;这里记录下删除重复数据的通用 SQL &#xff0c;方便以后需要时查阅 1、写法一 DELETE t1 FROMtbl_name t1 INNER JOIN tbl_name t2 WHEREt1.…...

“快速入门Spring Boot:从零开始构建Web应用程序“

标题&#xff1a;快速入门Spring Boot&#xff1a;从零开始构建Web应用程序 摘要&#xff1a;本文将介绍如何使用Spring Boot从零开始构建一个简单的Web应用程序。我们将学习如何配置和启动Spring Boot应用程序&#xff0c;创建控制器和路由&#xff0c;以及如何使用模板引擎来…...

微信小程序tab加列表demo

一、效果 代码复制即可使用&#xff0c;记得把图标替换成个人工程项目图片。 微信小程序开发经常会遇到各种各样的页面组合&#xff0c;本demo为list列表与tab组合&#xff0c;代码如下&#xff1a; 二、json代码 {"usingComponents": {},"navigationStyle&q…...

深入挖掘地核和地幔之间的相互作用

一本新书介绍了我们在理解地核-地幔相互作用和共同进化方面的重大进展&#xff0c;并展示了提高我们对地球深层过程的洞察力的技术发展。 与地核-地幔共同演化相关的地球深层结构和动力学的图示。图片来源&#xff1a;白石千寻 Editors Vox是 AGU 出版部的博客。 地球深层内部很…...

网络:SecureCRT介绍

1. 使用Tab键补全时出现^I&#xff0c;如下操作...

我的512天创作纪念日

眼馋csdn发的虚拟徽章&#xff0c;所以写此文。个人总结&#xff0c;无技术分享。 机缘 写代码的机缘&#xff0c;在于听说这个挣钱多&#xff0c;坐办公室&#xff0c;凤吹不着&#xff0c;雨淋不着。 而写blog的机缘&#xff0c;则在于是自己的技术的总结&#xff0c;经常是…...

mysql进阶-用户密码的设置和管理

一、修改密码 1.1 修改自己的密码 方式一&#xff1a; 推荐使用 alter user user() identified by 新密码;方式二&#xff1a; set password 新密码;演示 [rootVM-4-6-centos /]# mysql -uzhang3 -pZhangSan123456 mysql: [Warning] Using a password on the command line…...

接口测试中缓存处理策略

在接口测试中&#xff0c;缓存处理策略是一个关键环节&#xff0c;直接影响测试结果的准确性和可靠性。合理的缓存处理策略能够确保测试环境的一致性&#xff0c;避免因缓存数据导致的测试偏差。以下是接口测试中常见的缓存处理策略及其详细说明&#xff1a; 一、缓存处理的核…...

R语言AI模型部署方案:精准离线运行详解

R语言AI模型部署方案:精准离线运行详解 一、项目概述 本文将构建一个完整的R语言AI部署解决方案,实现鸢尾花分类模型的训练、保存、离线部署和预测功能。核心特点: 100%离线运行能力自包含环境依赖生产级错误处理跨平台兼容性模型版本管理# 文件结构说明 Iris_AI_Deployme…...

相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解

【关注我&#xff0c;后续持续新增专题博文&#xff0c;谢谢&#xff01;&#xff01;&#xff01;】 上一篇我们讲了&#xff1a; 这一篇我们开始讲&#xff1a; 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下&#xff1a; 一、场景操作步骤 操作步…...

论文浅尝 | 基于判别指令微调生成式大语言模型的知识图谱补全方法(ISWC2024)

笔记整理&#xff1a;刘治强&#xff0c;浙江大学硕士生&#xff0c;研究方向为知识图谱表示学习&#xff0c;大语言模型 论文链接&#xff1a;http://arxiv.org/abs/2407.16127 发表会议&#xff1a;ISWC 2024 1. 动机 传统的知识图谱补全&#xff08;KGC&#xff09;模型通过…...

Module Federation 和 Native Federation 的比较

前言 Module Federation 是 Webpack 5 引入的微前端架构方案&#xff0c;允许不同独立构建的应用在运行时动态共享模块。 Native Federation 是 Angular 官方基于 Module Federation 理念实现的专为 Angular 优化的微前端方案。 概念解析 Module Federation (模块联邦) Modul…...

Axios请求超时重发机制

Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式&#xff1a; 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...

Unit 1 深度强化学习简介

Deep RL Course ——Unit 1 Introduction 从理论和实践层面深入学习深度强化学习。学会使用知名的深度强化学习库&#xff0c;例如 Stable Baselines3、RL Baselines3 Zoo、Sample Factory 和 CleanRL。在独特的环境中训练智能体&#xff0c;比如 SnowballFight、Huggy the Do…...

【JavaSE】绘图与事件入门学习笔记

-Java绘图坐标体系 坐标体系-介绍 坐标原点位于左上角&#xff0c;以像素为单位。 在Java坐标系中,第一个是x坐标,表示当前位置为水平方向&#xff0c;距离坐标原点x个像素;第二个是y坐标&#xff0c;表示当前位置为垂直方向&#xff0c;距离坐标原点y个像素。 坐标体系-像素 …...

项目部署到Linux上时遇到的错误(Redis,MySQL,无法正确连接,地址占用问题)

Redis无法正确连接 在运行jar包时出现了这样的错误 查询得知问题核心在于Redis连接失败&#xff0c;具体原因是客户端发送了密码认证请求&#xff0c;但Redis服务器未设置密码 1.为Redis设置密码&#xff08;匹配客户端配置&#xff09; 步骤&#xff1a; 1&#xff09;.修…...

Python ROS2【机器人中间件框架】 简介

销量过万TEEIS德国护膝夏天用薄款 优惠券冠生园 百花蜂蜜428g 挤压瓶纯蜂蜜巨奇严选 鞋子除臭剂360ml 多芬身体磨砂膏280g健70%-75%酒精消毒棉片湿巾1418cm 80片/袋3袋大包清洁食品用消毒 优惠券AIMORNY52朵红玫瑰永生香皂花同城配送非鲜花七夕情人节生日礼物送女友 热卖妙洁棉…...