近年来,微服务因其可扩展性、可维护性和灵活性而在 IT 运营中得到广泛采用。然而,由于微服务中的复杂关系,当面临系统故障时,站点可靠性工程师 (SRE) 很难查明根本原因。以前的研究采用结构化学习方法(例如 PC 算法)来建立因果关系并从因果图中得出根本原因。然而,他们忽略了时间序列数据的时间顺序,未能利用时间关系中固有的丰富信息。例如,在 CPU 利用率突然激增的情况下,可能会导致其他微服务的延迟增加。但是,在这种情况下,CPU 利用率异常发生在延迟增加之前,而不是同时发生。因此,PC 算法无法捕获这些特征。为了应对这些挑战,我们提出了 RUN,这是一种使用神经 Granger 因果发现和对比学习进行根本原因分析的新方法。RUN 通过集成时间序列中的上下文信息来增强主干编码器,并利用时间序列预测模型进行神经 Granger 因果发现。此外,RUN 将 Pagerank 与个性化向量相结合,以有效地推荐前 k 个根本原因。在基于合成和真实世界微服务的数据集上进行的广泛实验表明,RUN 的性能明显优于最先进的根本原因分析方法。此外,我们还为 sock-shop 案例提供了一个分析场景,以展示 RUN 在基于微服务的应用程序中的实用性和有效性。