学术研究报告:基于事件调用链的微服务根因定位方法
一、作者及发表信息
本研究的通讯作者为西南交通大学唐山研究院的肖志明*(Zhi-ming Xiao),第一作者为西南交通大学计算机与人工智能学院的陈宇(Yu Chen),合作作者包括西南交通大学唐山研究院的滕飞(Fei Teng)。研究发表于2024年IEEE第16届国际通信软件与网络会议(ICCSN),会议论文编号DOI: 10.1109/ICCSN63464.2024.10793332。
二、学术背景
微服务系统因高度分布式特性,故障根因定位(Root Cause Localization, RCA)面临三大挑战:
1. 多模态监控数据利用不足:现有方法依赖单一数据(如日志、指标或追踪数据),难以全面捕捉故障特征。
2. 对故障数据的依赖性:传统方法需预先学习故障模式,但故障数据收集成本高且时效性差。
3. 并行请求处理的局限性:微服务并行处理多用户请求时,现有方法无法区分无关请求,导致定位准确性下降。
针对上述问题,本研究提出一种基于事件调用链(Event Call Chains)的无监督根因定位方法,通过统一日志(log)与追踪(trace)数据的表示形式,结合长短期记忆网络(LSTM)建模事件上下文关系,实现高效故障诊断。
三、研究流程与方法
1. 事件提取(Event Extraction)
- 数据来源:从正常运行的微服务系统中收集日志和追踪数据,解析日志模板(使用Drain3算法)并提取调用关系。
- 事件表示:将日志和追踪数据统一为事件序列,每个事件定义为(idi, si),其中idi为日志模板索引或调用关系ID,si为生成该事件的服务。
- 优势:无需额外监控数据配置,兼容现有微服务系统。
LSTM事件预测模型
l的事件序列,预测后续k个最可能事件及其概率。事件调用链构建(Algorithm 1 & 2)
ê,过滤无索引事件以模拟未知故障。pnor构建可能的事件链,通过阈值problim it筛选候选事件。L。根因排序与输出
四、实验结果
1. 数据集:
- D1(GAIA):包含5类微服务的10个实例故障(如登录超时、数据库错误)。
- D2(Online Boutique):基于Nezha的Hipster数据集,涵盖7类故障(如前端异常、验证错误)。
k个结果中包含真实根因的概率。k个A@k的平均值。五、结论与价值
1. 科学价值:
- 提出事件驱动的多模态数据统一表示方法,克服了异构数据建模难题。
- 通过无监督LSTM建模和动态事件链构建,解决了并行请求干扰问题。
2. 应用价值:
- 无需依赖历史故障数据,可定位未知故障,适用于生产环境实时诊断。
- 开源数据集和算法为后续研究提供基准。
六、研究亮点
1. 创新方法:首次将事件调用链与LSTM概率预测结合,支持多层级根因推理。
2. 工程友好性:仅需日志和追踪数据,降低系统改造成本。
3. 高效性:通过离线训练LSTM模型,在线诊断时间缩短至亚秒级。
七、其他发现
实验表明,外部事件(由Algorithm 2生成)对根因定位贡献率达73%,验证了故障常表现为调用链断裂的假设。