简 介
本文介绍由南开大学、华为技术有限公司、清华大学共同合作的论文:面向服务器操作系统的非侵入式灰度故障定位。该论文已被The ESEC/FSE Conference 2024(The ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering)会议录用。
论文标题:Illuminating the Gray Zone: Non-Intrusive Gray Failure Localization in Server Operating Systems。
作者:张圣林,赵咏欣,熊潇,孙永谦,聂晓辉,张嘉诚,汪峰来,郑弦,张玉志,裴丹。
及时定位灰度故障的根本原因对于保证服务器操作系统的稳定性至关重要。以往的侵入式灰度故障定位方法通常需要修改应用程序的源代码,限制了此类方法在实际运维环境中的广泛应用。
因此,文章提出了GrayScope,一种基于服务器操作系统中指标数据的非侵入式灰度故障根因定位方法。其核心思想是将专家知识与因果学习技术相结合,以捕捉更可靠的指标间因果关系。然后,它结合指标相关性和异常程度,帮助识别灰度故障的潜在根因。此外,它还能推断出指标间的灰度故障传播路径,从而对根因结果提供可解释性,并提高运维人员修复灰度故障的效率。文章基于1241个注入的灰度故障案例和135个来自华为工业数据的案例评估了GrayScope的性能。GrayScope的AC@5达到90%,可解释性准确率达到81%,明显优于当前流行的根因定位方法。文章的代码已经发布在https://gitee.com/milohaha/grayscope。
背 景
在服务器操作系统中,组件之间复杂的交互很容易导致性能或可用性问题。灰度故障是一个值得关注的重要问题,它是服务器操作系统介于健康与不健康之间的一种临界状态,会导致系统不稳定或运行效率下降。
由于缺乏实用的细粒度诊断工具,要准确定位灰度故障需要耗费大量人力物力,运维人员需要反复尝试才能排除故障。此类故障严重影响了系统的性能和可用性,但有关灰度故障根因定位的研究却相对较少。一些侵入式方法由于修改源码成本高、定位周期长,限制了它们的实际应用。传统的统计分析方法在进行根因定位时容易受到数据噪声的影响。使用机器学习技术从指标数据中学习特征模型进行根因定位通常依赖于许多高质量的标注案例。基于因果图的方法可以学习因果图并获得潜在的根因列表,在现实世界的根因定位中表现出卓越的性能,它们有望在服务器操作系统中实现基于指标的非侵入式灰度故障定位。
研究挑战
◆ 服务器操作系统中指标之间的因果关系复杂
服务器操作系统中通常有数百个指标。随着时间的推移,服务器操作系统中的指标数据会发生动态变化,这些指标之间的关系也会动态演化。以往的方法仅采用因果学习技术来构建因果图,导致因果图过于庞大和复杂,无法高效进行根本原因推断。
◆ 指标相关性利用不足
以往的工作只考虑指标的异常程度,而忽略了每个指标与灰度故障之间的相关性。然而,指标与灰度故障之间的相关性可以指导根因推断方法定位导致灰度故障的指标。忽略这种相关性会降低根因推断的性能。
◆ 结果缺乏可解释性
系统组件中的灰度故障会随着数据流或共享资源传播,可能会扩大对整个系统的影响。缺乏有关灰度故障传播路径的信息会影响运维人员修复故障的效率。
结构设计
GrayScope的整体工作流程如图1所示,分为四个主要模块:
图1 GrayScope整体工作流程
1、数据收集和异常检测。GrayScope使用指标收集工具,以固定间隔从服务器操作系统的多个数据源收集运行时监控指标。当检测到应用服务的关键性能指标异常时,它会触发根因定位。
2、因果关系图学习。GrayScope首先根据专家知识将相关指标插入骨架图,从而构建一个指标因果关系结构图。然后,它使用观测窗口分析指标之间的因果关系,以进行因果关系测试。通过将指标因果关系结构图与指标之间的因果关系进行整合,得到指标因果关系图。
3、根本原因推断。GrayScope将指标与关键性能指标之间的相关性以及指标本身的异常程度的加权结合作为随机游走的转移概率。从异常关键性能指标开始,GrayScope沿着指标因果关系图随机游走,生成潜在的根本原因排序列表。
4、传播路径推断。GrayScope将指标因果关系图与潜在根本原因排序列表相结合,以推断根本原因在服务器操作系统内的可能传播路径,这为灰度故障如何在服务器操作系统中传播提供了可解释性,有助于运维人员实施有针对性的修复策略。
实验评估
文章对比了GrayScope与4个指标根因定位方法。为了评估方法在不同应用场景中的准确性,文章选用了四个应用场景:高斯数据库(GaussDB)、Redis数据库(Redis)、Kafka分布式发布订阅消息系统(Kafka)和Tomcat应用服务(Tomcat)。最终的实验结果如表1所示。在总体性能方面,GrayScope优于其他方法,其Avg@5达到了0.82,与第二名相比提高了18%,说明结合专家知识以捕捉更准确的因果关系,并将部分相关性与异常程度相结合以进行根本原因推断,这两点增强了GrayScope的有效性。
表格1实验结果
总 结
在当前服务器操作系统中,灰度故障根因定位变得至关重要。GrayScope通过挖掘指标与灰度故障传播模式之间的因果关系来定位根本原因。GrayScope将专家知识与因果学习技术相结合,以确保学习到更可靠的指标因果图。GrayScope通过结合指标部分相关性和异常程度推断灰度故障根因,提高了定位的准确性。此外,GrayScope对推断的根因推荐了灰度故障可能的传播路径,增强了结果的可解释性。
实验证明,GrayScope在灰度故障根因定位方面表现出色。总体而言,文章为应对服务器操作系统内灰度故障根本原因的定位提供了新的思路,有力推动了该研究领域的进展与应用。