摘要:在大型在线服务系统中, 由于各组件间错综复杂的依赖关系, 故障的发生常会引发大量相关告警, 形成告警风暴. 告警风暴不仅增加了值班工程师的工作负担, 也使得故障诊断和根因分析变得更加困难. 为了解决这一问题, 提出了Alert-CM, 一种基于图表示学习的告警聚类方法, 将由同一故障引发的告警有效地聚类在一起, 从而减轻工程师的工作负担. 在告警管理过程中, 一条告警往往由故障发生时的多种底层系统数据共同汇总得到, 如异常相关应用、指标、日志、预警规则和应急场景等. Alert-CM认为由同一个故障引发的多个告警通常在底层系统数据层面存在紧密关联, 并且当中的底层核心系统数据将更能代表当前告警对应的系统异常状态. 根据这一核心思想, Alert-CM基于告警相关配置数据构建出细粒度的系统数据依赖图, 并将告警与图中各节点的依赖关系进行抽象和映射, 进一步扩展告警的特征空间. 基于系统数据依赖图, Alert-CM搭建了图神经网络模型进行图表示学习, 挖掘核心底层系统数据对于告警的贡献强弱, 从而输出准确的告警向量表示. 最终, Alert-CM使用DBSCAN算法实现告警聚类. 在真实工业数据集上对Alert-CM进行评估, 重点考察聚类的有效性和实时效率. 实验结果表明, Alert-CM在告警聚类任务中的表现显著优于传统的告警聚合方法. 在评估中, Alert-CM的NMI和ARI分别达到了 0.901 和 0.645, 相较于现有方法的平均值分别提升 31.7% 和 153.9%, 同时Alert-CM在在线实时聚类任务上也表现出良好的性能.