序言
因果发现旨在通过分析实体数据之间的复杂关系,进一步挖掘深层次的因果关系。在IT、工业、商业、医疗等领域发挥着重要的作用。
在IT领域,可以通过因果发现发现的相关技术,识别各实体之间的因果关系,进而进行故障的根因定位和分析。故障根因分析具有重要的意义:1.及时处理故障,确保系统正常运行,保证用户的体验;2.保障系统安全,及时发现网络攻击的节点。
因果发现以其可解释性成为了进行根因分析的有力工具,通过分析实体间的因果发现,构建故障因果关系图,再在故障因果关系图的基础上,从前端交互KPI节点开始,进行回溯故障根因。回溯故障根因的方法可以总结为图最优节点搜索算法,包括启发式搜索、图神经网络等方法,其中启发式搜索是目前最常用的一种根因节点回溯方法。
方法
故障数据采集
对于微服务系统,可以采用监控设备进行数据的采集,监控数据包括CPU利用率、响应时间、内存使用率等指标。对于工业系统,可以采用各种传感器进行数据的采集,例如温度传感器进行温度的采集,湿度传感器感应湿度值。之后对这些采集到的数据进行数据处理,包括数据预处理以及转换成可使用的数据,完成数据的采集。
故障因果图模型建模
采用因果发现模型,对于采集到的多变量时许数据进行因果发现建模,随着深度学习的发展,与深度学习结合较好的格兰杰因果发现逐渐成为主流模式。
图最优节点搜索算法建模
在构建的故障因果图上进行最优节点(最可能是根因节点)的搜索,所采用的算法包括启发式搜索、广度优先遍历以及基于图神经网络的方法。
挑战
实时性:故障需要实时处理。
准确性:准确地定位故障才可能及时处理故障。
监控质量依赖性:对于系统的全面监控,如果出现未监控到的实体,将会极大地增加根因分析的难度。
PS:本文只是整理大体的思路,对于方法等部分还会进行具体的描述,将会包括对现有的故障根因分析方法进行简单的综述(包括基于因果发现和非因果发现的方法)还会对图最优节点搜索的算法进行讨论。