← 返回 PaperDaily 前沿研究

不用深度学习,850+事故验证:因果图做RCA到底多靠谱?

云网络故障诊断一直是运维的老大难。AWS这篇论文很实在,不讲虚的,直接在生产环境里用图因果推理找根因,规则方法不行?那就让数据自己说“谁才是罪魁祸首”。800多个事故的实战检验,效果还非常能打。

不用深度学习,850+事故验证:因果图做RCA到底多靠谱?
🐉 龙哥读论文知识星球来了!
公众号每日8篇拆解不够看?星球无上限更AI领域论文、资讯、招聘、招博、开源代码,一站式干货,每日2分钟刷完即赚! 👇扫码加入「龙哥读论文」知识星球,前沿干货、实用资源一站式拿捏~ xingqiu_header

龙哥推荐理由:
云网络故障诊断一直是运维的老大难。AWS这篇论文很实在,不讲虚的,直接在生产环境里用图因果推理找根因,规则方法不行?那就让数据自己说“谁才是罪魁祸首”。800多个事故的实战检验,效果还非常能打。


原论文信息如下:
论文标题:
Graphical Causal Reasoning for Root Cause Analysis in Cloud Networks
发表日期:
2026年6月
发表单位:
Amazon Web Services
原文链接:
https://arxiv.org/pdf/2606.13532v1.pdf
Fig. 3 & Fig. 4 实验结果对比
图3 & 图4:条件概率函数示意图与精确匹配准确率对比

云网络根因分析的难点与新思路

现代云计算依赖大规模网络,这些网络天生复杂:成千上万的设备、成百上千的信号类型、多层级冗余设计。当一个故障发生时,警报像雪花一样飞来——硬件错误、丢包、控制平面异常、路由抖动……运营工程师要在几分钟内从轰鸣的警报中揪出“真凶”,这绝对是一场噩梦。
传统做法是写规则:如果A出现且B没出现,就报C是根因。但规则太脆弱了,网络拓扑时刻在变,规则很快就过期,工程师得不停地维护。更糟的是,很多故障是“链式反应”——一个硬件坏掉导致控制平面误报,控制平面误报又触发路由更新,路由更新引发丢包……规则根本抓不住这种因果关系。
那么,能不能让数据自己“告诉”我们谁在搞鬼?这就是AWS这篇论文给出的新思路:用图因果推理(Graphical Causal Reasoning)来定位根因。核心是三个步骤:先用二值时间序列构建一个因果图,再用时空分组和自动化本体(Automation Ontology)来压缩问题规模,最后用一个带时间延迟的概率推理模型在图上做路径打分,找出最可能的根因。这套系统已经被部署到AWS的生产环境,处理了超过800个真实事件,效果惊人。
龙哥觉得最酷的是:他们没用什么高大上的神经网络,全靠经典的Granger因果性(Granger Causality)和条件独立性检验,就把事办得漂亮。实践出真知啊!

二值时间序列构建因果图

在云网络里,运维数据通常是事件驱动的:某个警报触发了、某个工作流开始执行了。论文把这些事件全部转成二值时间序列(binary time series)——每个变量(比如“硬件错误”、“丢包”)在每一分钟要么是1(有该事件),要么是0(没有)。有了这样一串01序列,就可以用Granger因果性来检测:变量B是否Granger导致变量A?简单说,就是看B的历史数据能否帮助我们更好地预测A的未来。
具体怎么做?论文用了逻辑回归(Logistic Regression)。对每一对变量(A, B),先建一个只用A自身历史预测A的“受限模型”,再建一个同时用A和B历史预测A的“非受限模型”。然后比较两个模型的拟合优度,如果增加B后预测能力显著提升(通过似然比检验,p值小于0.05),就认为B Granger导致A,添加一条从B指向A的有向边。
但成对分析会误把间接关系当成直接关系——比如C→B→A,如果只看C和A,可能也会出现Granger因果,但我们希望识别出真正的因果路径。所以论文又加入了条件独立性检验:如果已知B的历史后,C的历史与A独立,那就说明C通过B间接影响A,因果图应该是C→B→A,而不是C→A。这样反复检验,逐步精炼,最终得到一个有向图(可能带环,因为真实系统中存在反馈延迟)。
注意,这个方法只用了“异常区间”的数据,没有用到“正常”基线。这在云网络中很实用,因为正常数据太海量了,反而噪声大。只分析异常时刻,更集中。

时空分组与本体化解耦策略

直接对几千个变量两两做Granger检验?计算量太大!AWS团队想出了两个妙招来压缩空间:自动化本体(Automation Ontology)时空分组(Spatiotemporal Grouping)
“本体”就是把网络运维中的各种信号分类:观察量(指标、链路追踪、日志)、故障、风险、动作。然后定义它们之间的可能因果关系。比如“故障”可以级联到其他故障,“动作”可以修复或引入故障。论文根据这个本体,把800多种警报和10000多种工作流步骤归为14个故障类别、11个动作类别。再加上网络分层信息(185个网络层),最终变量数从天文数字降到4810个(185层 x (14+1+11))。
“时空分组”则是在每个事件发生时,只收集受影响位置周围X跳以内、Y分钟以内的所有信号。这样就把一次根因分析限制在一个局部子图中,而不是在整个网络图上搜索。论文从六个月的事件数据中提取了25474个事件片段,经过本体映射后,只得到76595对变量进行成对分析——相比四千万对,足足减少了三个数量级!
下图展示了本体中各要素的关系:
图1:自动化本体:观察量决定风险和故障。风险可转化为故障,故障可产生风险。动作可修复或引起故障和风险。
图1:自动化本体——观察量(指标、链路追踪、日志)确定风险和故障。风险可转化为故障,故障可产生风险。动作可修复或引起故障和风险。

概率推理模型的可解释评分

因果图建好了,怎么用它做推理?论文提出了一个优雅的概率方法:对图中每一条有向边,学习一个条件概率函数 PB→A(Δt),表示B发生后Δt分钟内A发生的概率。这个函数通过统计历史数据中不同时间差下两事件共现的频率来估计,时间分辨率是1分钟,考虑了未来20分钟。
例如,下图展示了两个真实的概率函数:控制平面错误通常在6-10分钟后触发链路问题;而链路问题在1-2分钟内就会导致丢包。这就解释了为什么有些警报看似相关却时间对不上——因为因果延迟不同。
图3(a):控制平面错误导致链路问题的条件概率
图3(a):控制平面错误导致链路问题的条件概率函数
图3(b):链路问题导致丢包的条件概率
图3(b):链路问题导致丢包的条件概率函数
具体到根因推理,给定一个事件(包括受影响变量y和与之时空关联的其他变量),论文把所有信号都当作候选根因。对每个候选根因r,找出图中所有从r到y的有向路径。每条路径π的得分就是路径上每条边的条件概率值的乘积(按实际时间延迟查表得到)。如果路径中间某个变量没被观测到,就用一个很小的常数ε作为代替。最后每个候选根因取所有路径得分的最大值,返回Top-3且得分超过阈值的作为结果。
这个打分方法完全可解释:工程师能直接看到根因是通过哪些中间变量、以什么时间延迟传到影响变量的,白盒一样透明。
我有一个新思路

生产环境验证:85.7%精确召回

AWS团队把整个系统部署成一个API,集成到运维工具中。在7个月的生产运行里,系统被用于超过800个真实事件。为了做定量评估,他们选了35个高影响、低频次的已标记事件(这些事件是现有规则引擎处理不了的),进行盲测。结果:74.3%的事件精确匹配了真实根因,Recall@3(真实根因出现在Top-3内)达到了85.7%。
对比一下其他方法:专家规则只有48.6%的精确匹配;选取事件中的第一个信号(时间最早)只有34.3%;选取事件中的最后一个信号(最晚)有60%;选取空间上最近邻的信号只有25.7%。论文的方法全面碾压。
下图展示了精确匹配准确率的对比(与图4一致,此处仅展示一张结果图):
图4:不同根因分析方法精确匹配准确率对比
图4:不同根因分析方法精确匹配准确率对比
此外,在48个有工程师评分的案例中,19个获得5星(完全正确),25个获得3星以上(部分正确但有用)。工程师反馈非常正面。
龙哥觉得,85.7%的召回率在真实生产环境里已经是相当亮眼的成绩了,特别是对于规则搞不定的那些疑难杂症。这说明因果图方法确实抓住了根本。

未来展望:空间建模优化与扩展

尽管成绩斐然,论文也坦诚了不足。最大的短板在于空间建模:目前用“网络层”作为维度把变量聚合,丢失了很多细粒度空间信息。比如一个设备故障和它邻居设备故障,如果属于同一网络层,就被压缩成同一个变量,无法区分。另外,像路由可达性这类作用域不是单个设备而是端到端路径的信号,目前也无法建模。未来方向包括:引入更精细的空间表示(比如图神经网络GNN来学习空间结构)、在因果发现过程中加入显式时间约束等。
总的来说,这篇论文展示了一个非常实用的工业级解决方案:用基础但巧妙的因果统计工具,配合领域知识(本体+时空分组),在巨大规模的生产环境中实现了可靠的根因分析。路子很正,值得学习。

龙迷三问

下面是龙哥对于大家可能的一些问题的解答:

问:Granger因果性到底是什么意思?能举例子吗?答:Granger因果性(Granger causality)是一个统计概念,由经济学家Clive Granger提出。它不是说“B物理上导致A”,而是说“B的历史能够帮助预测A的未来”。比如,如果每次硬件错误(B)后3分钟内必然出现丢包(A),那么B就Granger导致A。注意,这可能是由于隐藏的第三个变量(比如电源故障)同时引起两者,但Granger因果性至少告诉我们“时间上B在前,而且有预测关系”,对于根因定位已经很有帮助了。论文在二值序列上用逻辑回归检验了这个关系。

问:论文中的“Recall@3”和“精确匹配”有什么区别?答:Recall@3指的是在模型返回的前3个候选根因中,只要包含了真实根因,就算成功。精确匹配是指返回的第一个候选根因就是真实根因。论文中精确匹配74.3%,Recall@3为85.7%,说明很多时候真实根因排在Top-3但并不是第一名,如果能结合工程师经验做二次筛选,效果更好。

问:论文中的因果图为什么可以有环?不是应该有向无环图(DAG)吗?答:理论上因果图应该是DAG,但实际数据中由于延迟、反向、瞬时效应等因素,Granger检验可能会产生双向边或环路。论文允许双向边存在,认为它们反映了时间戳不精确或信号缺失。但推理时仍然用这个“带环图”做路径搜索,实际效果依然很好,说明图结构不需要完美无环也能工作。

如果你还有哪些想要了解的,欢迎在评论区留言或者讨论~

龙哥点评

论文创新性分数:★★★★✰

用经典Granger因果+条件独立性做因果图,结合领域本体和时空分组,虽然是组合创新,但落地到云网络根因分析这个实际问题上非常新颖,且效果显著。

实验合理度:★★★★★

使用35个真实生产事件盲测,与规则方法、三个启发式基线做公平对比,并且在800+事件中实践验证,结果扎实可信。

学术研究价值:★★★★✰

为工业级根因分析提供了一种可解释、可规模化的因果推理框架,对后续将因果发现应用于运维系统有重要参考价值。

稳定性:★★★★✰

在生产中运行7个月、处理800+事故,稳定性得到验证。但空间建模简化导致部分细粒度错误,有待改进。

适应性以及泛化能力:★★★★✰

框架本体可推广到其他复杂系统(如微服务架构),但当前空间建模依赖网络层,迁移时需要重新设计。

硬件需求及成本:★★★★★

完全使用逻辑回归和统计检验,不需要GPU,训练和推理开销极低,可在普通服务器上运行。

复现难度:★★★✰✰

方法描述较清晰,但需要生产级数据(本体、时空分组、大量历史事件),且涉及AWS内部数据,外部复现困难。

产品化成熟度:★★★★★

已经在AWS生产环境以API形式运行,工程师正面反馈,完全可产品化。

可能的问题:空间建模过于粗糙,无法区分同一网络层内不同设备的故障;对端到端路径信号无法处理;因果图可能存在假阳性边(如反向因果关系),虽然不影响推理但不够优雅。


主要参考文献

[1] F. Chraim, D. Janzing, J. Evans. "Graphical Causal Reasoning for Root Cause Analysis in Cloud Networks." arXiv:2606.13532v1, 2026.
[2] C. W. J. Granger. "Investigating causal relations by econometric models and cross-spectral methods." Econometrica, 1969.
[3] J. Peters, D. Janzing, B. Schölkopf. "Elements of Causal Inference – Foundations and Learning Algorithms." MIT Press, 2017.

*本文仅代表个人理解及观点,不构成任何论文审核或者项目落地推荐意见,具体以相关组织评审结果为准。欢迎就论文内容交流探讨,理性发言哦~ 想了解更多原文细节的小伙伴,可以点击"阅读原文",查看更多原论文细节哦!       

end
欢迎加入龙哥读论文粉丝群,扫描下方二维码或者添加龙哥助手微信号加群:kangjinlonghelper。一定要备注:研究方向+地点+学校/公司+昵称(如 图像处理+上海+清华+龙哥),根据格式备注,可更快被通过且邀请进群。 『龙哥读论文』微信群目前包含:图像处理、大模型及智能体、自动驾驶及机器人、AI医疗及AI金融5个群
wechat_helper dianzan
转发文章 微博 X LinkedIn Facebook
龙哥读论文 · PaperDaily

本文基于龙哥读论文 PaperDaily 数据库整理,结合论文原文与工程视角进行解读。