论文精读:Root Cause Analysis in Microservice Using Neural Granger Causal Discovery

devtools/2025/1/8 7:28:47/

Root Cause Analysis in Microservice Using Neural Granger Causal Discovery

摘要

  1. 微服务架构因其可扩展性、维护性和灵活性在IT运营中得到广泛应用,但系统故障时SREs难以确定根本原因。
  2. 以往研究使用结构化学习方法建立因果关系图,但忽略了时间序列数据的时间顺序,无法利用时间关系中的丰富信息。
  3. 提出了一种名为RUN的新方法,通过结合时间序列的上下文信息和时间序列预测模型来执行神经Granger因果发现,并使用带个性化向量的PageRank推荐前k个根本原因。

主要贡献

  1. 提出了一种名为RUN的自监督神经Granger因果发现框架,用于捕捉时间序列数据中的上下文信息,并构建多变量时间序列之间的因果图。

  2. RUN框架利用PageRank算法在导出的因果图上识别触发点的根源。

  3. 引入了一种创新的自监督学习方法,专门将具有不同上下文信息的相同时间戳视为正例对,以解决将具有相似周期性的数据点错误识别为负例对的问题。

问题描述

​ 监控系统将通过关键绩效指标(KPIs)监控微服务系统的运行状态,在典型场景中,当异常的KPI触发异常检测系统时,我们定位根本原因。我们将异常的KPI称为触发点,并随后识别触发点背后的潜在根本原因。这些KPI属于多变量时间序列数据。在微服务架构中,识别异常的根本原因可以形式化如下。 多元时间序列 X \mathbf{X} X N N N 个特征组成, X = [ X 1 , X 2 , … , X N ] \mathbf{X}=\left[X_1, X_2, \ldots, X_N\right] X=[X1,X2,,XN]. 我们收集了指定时间周期 T T T内的相应时间序列,每个时间序列可以表示为 X i = [ x i 1 , x i 2 , … , x i T ] X_i=\left[x_i^1, x_i^2, \ldots, x_i^T\right] Xi=[xi1,xi2,,xiT], X ∈ R N × T \mathbf{X} \in \mathbb{R}^{N \times T} XRN×T. 我们利用神经Granger因果发现方法来推导出因果图 G ^ = { V , E } \hat{\mathbf{G}}=\{V, E\} G^={V,E}, 其中节点 V V V 表示每个特征 X i X_i Xi E E E 表示特征 X i X_i Xi Granger 导致特征 X j X_j Xj. 我们的目标是识别出导致因果图 G ^ \hat{\mathbf{G}} G^ 触发点的根源特征 X culprit  X_{\text {culprit }} Xculprit 

方法

​ 提出的框架如图4所示,它由三个阶段组成:预训练阶段、神经Granger因果发现阶段和诊断阶段。
在预训练阶段,我们增强基础编码器以生成包含上下文信息的有信息量的时间序列表示。这种增强是通过最大化具有相同时间戳但上下文不同的实例之间的一致性来实现的。在神经Granger因果发现阶段,我们利用时间序列预测模型来挖掘因果图,并剪除虚假的边以获得最终的有向无环图(DAGs)。在诊断阶段,我们应用一种名为Pagerank的随机游走算法,结合个性化向量,根据因果图推荐最可能的根源原因。

在这里插入图片描述

图4:我们提出的RUN框架概述,包括三个阶段:1)最大化正对以捕获上下文信息;2)神经Granger因果发现,从多变量时间序列中推导出因果图;3)诊断阶段从获得的因果图中推断出根本原因。

预训练阶段

​ 我们使用DLinear(Zeng等人,2023年)作为我们的时间序列预测的基础编码器。为了增强我们的基础编码器,我们设计了一种不依赖于负样本对的对比学习。我们认为负样本对不适合时间序列,因为它们表现出周期性模式,如图3所示。当选择不同的时间戳作为负样本对时,它们可能属于同一周期性。如果我们选择了错误的负样本对,可能会导致将本应相似的嵌入分开。因此,我们通过考虑具有相同时间戳但上下文不同的实例作为正样本对来学习上下文信息。
首先,我们按照(Yue等人,2022年)使用随机裁剪,随机采样两个重叠的时间段 y 1 y_1 y1 y 2 y_2


http://www.ppmy.cn/devtools/148835.html

相关文章

DCU异构程序——GEMM

目录 一、概述 二、程序实现 三、编译运行 一、概述 HIP属于显式编程模型,需要在程序中明确写出并行控制语句,包括数据传输、核函数启动等。核函数是运行在DCU上的函数,在CPU端运行的部分称为主机端(主要是执行管理和启动&…

机器学习期末复习知识点

Apriori算法 基本思想: 1 找到所有的频繁项集 2 由频繁项集找到所有的强关联规则 目标: 给定一个事务集T,关联规则挖掘的目标是找到所有规则满足以下要求: 1 support>minsup threshold 2 confidence>minconf thresho…

OSPF - 1类LSA(Router-LSA)

点击返回LSA对照表 1类LSA是OSPF计算最原始的材料,他会泛洪发给所有的路由器 LSA是包含在LSU中的,一条LSU能够携带多条LSA options位所有LSA都会有,用于标记起源于什么类型的区域,具体查看文章【邻居建立】 flags位是一类LSA特…

Lua协同程序(线程)

1、 Lua 的协同程序(coroutine)简单介绍 Lua 的协同程序(coroutine)是一种轻量级的线程,允许你在多个任务之间进行协作式多任务处理。与操作系统线程不同,协同程序是由程序员显式控制的,不会自动…

电脑硬盘系统迁移及问题处理

一、系统迁移准备 1、确认你的电脑主板是否支持安装两块硬盘,如电脑主板有多个M2硬盘接口,我们将新硬盘安装到主板上,原来的老硬盘安装在第二个接口上,主板只有一个M2接口的话可以使用移动硬盘盒。 2、新硬盘安装好后,我们进入原来的系统,在 此电脑–右键–管理–磁盘管…

仅此,无标题

细细想来,14届的大学,18届的研究生,2020年12月份毕业。大学离家不算远,在郑州,火车2、3个小时,那时候感觉还挺远的。研究生本来打算去南方,最后还是去了北方,那个很多人外出挣钱的地…

模块化通讯管理机在物联网系统中的应用

安科瑞刘鸿鹏 摘要 随着能源结构转型和智能化电网的推进,电力物联网逐渐成为智能电网的重要组成部分。本文以安科瑞ANet系列智能通信管理机为例,探讨其在电力物联网中的应用,包括数据采集、规约转换、边缘计算、远程控制等技术实践&#…

嵌入式岗位面试八股文(篇三 操作系统(下))

wx:嵌入式工程师成长日记 1.僵尸进程有什么危害? 僵尸进程的进程号并不会被释放,但是系统的进程号是有限的,如果出现大量僵尸进程就会导致系统无进程号可用就无法产生新进程。 2.进程调度算法即策略有哪些? 先来先服…