本文版权为《邮电设计技术》所有,如需转载请联系《邮电设计技术》编辑部
摘 要:分布式部署的微服务系统中服务实例调用关系复杂,服务故障会随着调用链进行快速传播,给服务异常检测工作带来挑战。结合图卷积网络(GCN),提出一种先进的微服务异常检测模型(SADM-3)。模型采用eBPF 技术对可观测性数据进行采集,构建服务调用有向图,并对节点和链路特征进行提取,使用GCN对异常服务节点和链路进行检测。最后,在TrainTicket 和Sockshop 数据集上对模型性能进行验证。实验结果表明,提出的SADM-3 模型在异常检测准确率和检测速度方面均优于现有的基线模型。
关键词:可观测性;特征提取;图卷积网络;服务异常检测
doi:10.12045/j.issn.1007-3043.2026.05.015
概述
1.1 背景
在微服务架构下,系统通常由分布式部署的多个独立的微服务组成,不同微服务之间相互调用,组成了系统的各个业务功能。每个微服务都可以在虚拟化环境中进行独立的开发、部署和扩展,增强了系统的敏捷性和可扩展性。
但由于微服务架构高内聚、低耦合和去中心化的特点,每个微服务均可进行多实例动态部署,产生了大量不同状态的服务实例,众多实例节点之间存在着复杂的调用关系[1]。当任意服务节点出现问题时,异常会沿着服务调用链进行传播,导致大量服务出现异常,这增加了服务异常检测的复杂性,成为微服务集群自动化运维工作的难点[2]。
1.2 现状
当前,在实际生产运维中,通常采用以下2种实现方式进行微服务的异常检测。一是通过对服务调用进行追踪,构造分布式服务调用拓扑图,通过对拓扑图中各节点的指标和日志数据进行监控分析,结合告警和运维经验实现对异常服务节点的定位[3-4]。二是基于多类型可观测性数据,将指标、链路、日志数据按照不同纬度进行组合,采用统计学方法、机器学习算法,对各服务节点进行分类或回归预测,作为服务节点异常的判断依据[5-1]。
本研究提出一种创新的微服务异常检测模型,该模型基于图卷积网络(GCN)实现微服务系统的服务实例级的异常检测。微服务异常检测模型由4个模块组成,具体如下。
a)数据采集和解析。基于eBPF技术实现对服务调用全链路数据的采集,通过在 linux内核运行完成编译的、通过安全验证的eBPF代码,实现对内核流量的无侵入式采集。
b)服务调用有向图构建。设计一种新型的跨层级服务调用有向图的构建方法,基于指标、链路、日志数据,并结合服务调用时间序列,精确梳理整合多个服务调用请求。
c)特征提取和数据预处理。分别对有向图中的服务节点进行多模态特征提取,并采用Word2Vec嵌入模型,对特征中的字符串数据进行编码,减少噪声和特征波动对模型的干扰。
d)服务异常检测。构建基于图卷积网络的异常检测模型,对有向图中的节点特征进行学习,并采用有监督学习对模型进行训练,模型最终的输出结果为服务有向图中预测为异常的服务节点。









































