Automatic failure diagnosis is crucial for large microservice systems. Currently, most failure diagnosis methods rely solely on single-modal data (i.e., using either metrics, logs, or traces). In this study, we conduct an empirical study using real-world failure cases to show that combining these sources of data (multimodal data) leads to a more accurate diagnosis. However, effectively representing these data and addressing imbalanced failures remain challenging. To tackle these issues, we propose DiagFusion, a robust failure diagnosis approach that uses multimodal data. It leverages embedding techniques and data augmentation to represent the multimodal data of service instances, combines deployment data and traces to build a dependency graph, and uses a graph neural network to localize the root cause instance and determine the failure type. Our evaluations using real-world datasets show that DiagFusion outperforms existing methods in terms of root cause instance localization (improving by 20.9% to 368%) and failure type determination (improving by 11.0% to 169%).
翻译:自动故障诊断对于大型微服务系统至关重要。当前多数故障诊断方法仅依赖单模态数据(即仅使用指标、日志或跟踪数据中的一种)。本研究基于真实故障案例开展实证分析,结果表明融合多源数据(多模态数据)可显著提升诊断准确性。然而,如何有效表征这些数据并应对不平衡故障问题仍是挑战。为此,我们提出DiagFusion——一种基于多模态数据的鲁棒故障诊断方法。该方法通过嵌入技术与数据增强技术表征服务实例的多模态数据,结合部署数据与跟踪数据构建依赖关系图,并利用图神经网络定位根因实例及判定故障类型。基于真实数据集的评估表明,DiagFusion在根因实例定位(提升20.9%至368%)与故障类型判定(提升11.0%至169%)方面均优于现有方法。