微服务架构已被广泛应用于许多在线服务及大规模软件系统中。通过异常检测和根因分析进行服务监控对于这些微服务系统提供稳定和持续的服务至关重要。然而,与单体系统相比,基于分层微服务架构的软件系统本质上更为复杂,通常涉及不同层次的实体。因此,为了有效地进行服务监控,这些系统具有多层级根因分析的特殊要求。此外,由于微服务系统中大部分异常涉及问题代码,为了及时排除这些异常,另一个特殊的要求即是在最细粒度的代码层级进行根因分析。
我院研发效能实验室荣国平课题组基于美团公司实际场景,提出了一种新的根因分析解决方案——TrinityRCL。该方法首次在业界实现融合多种类型的监控数据(链路、指标、日志数据)以支持应用、服务、主机、指标和代码等多个颗粒度或层级上的异常根因定位。通过在实际生产环境中实现、部署和验证TrinityRCL,课题组将TrinityRCL与SOTA两种基线方法进行了对比评估,结果显示TrinityRCL在精度方面具有显著的优势,同时时效相当。此外,相比较于基线算法,TrinityRCL在具有大量监控数据的大规模系统中优势更加明显。
目前,该工作以论文《TrinityRCL: Multi-Granular and Code-Level Root Cause Localization Using Multiple Types of Telemetry Data in Microservice Systems》在软件工程领域顶级期刊《IEEE Transactions on Software Engineering》(简称TSE)在线发表。本院博士生顾胜晖同学为第一作者,荣国平老师为通讯作者。TSE也是中国计算机学会(CCF)推荐的软件工程领域A类期刊。