logo
咨询企业版

用户案例

20 秒根因定位:BOSS 直聘基于 NebulaGraph 构建智能运维

作者万佳飞,SRE 工程师,AIOps 经验丰富,擅长根因定位,目前在做 AI Agent 提效,本文源万佳飞老师在北京 nMeetUp 上的分享。

导读:在数字化服务日益成为业务核心竞争力的今天,系统的稳定性直接关乎用户体验与企业声誉。BOSS 直聘选择以 NebulaGraph 高性能分布式图数据库为核心,构建了创新的异常调用分析与根因定位平台,实现了运维效率与稳定性的质的飞跃。

一、业务背景

BOSS 直聘成立于 2014 年,是目前国内平均月度活跃用户数最多的在线招聘平台。BOSS 直聘率先引入了一种改变中国在线招聘业的颠覆性模式—直聘模式:求职者与招聘者通过平台进行即时沟通,成为求职者使用频率最高的求职 App. 然而面对百万级日活和复杂的业务架构,继续沿用传统运维模式暴露出一系列尖锐问题:

  • 视角割裂,难以快速定位:监控指标、日志、调用链追踪、事件数据分散在不同系统,缺乏统一关联视角。服务调用链不清晰,尤其在跨团队、跨技术栈的场景下,排查如同“盲人摸象”。
  • 定位路径无体系,“故障靠人扛”:故障排查高度依赖专家个人经验,缺乏标准化流程和自动化手段。异常告警无法有效聚合到业务视角或真正的技术根因层面(如网络设备故障、特定服务瓶颈),导致“轮番接锅”、责任认定不清。
  • 工具繁多,效率低下:运维人员需要在多个工具间切换,使用门槛高,信息整合成本巨大,难以在紧迫的故障恢复时间内形成有效决策。

这些问题最终体现为平均故障修复时间(MTTR)居高不下,不仅影响用户体验,也严重消耗了宝贵的研发运维资源,阻碍了业务稳定性建设的持续提升。

二、以图数据库为核心的技术选型

面对挑战,BOSS 直聘的运维团队认识到,解决问题的关键在于打破数据孤岛,构建清晰、动态的服务与资源全景依赖图谱,并基于图谱实现智能化的异常传播分析与根因定位。

在技术选型上,团队重点考量了:

  • 海量关系处理能力:需要存储和处理数以亿计的服务、实例、主机、中间件节点及其间复杂的调用、部署、依赖关系;
  • 实时查询性能:故障发生时,需要毫秒级响应复杂图查询(如路径查找、邻居遍历、子图匹配),快速定界定位;
  • 灵活的数据建模:业务架构和技术栈持续演进,图谱模型需要灵活适应变化;
  • 分布式与高可用:支撑核心运维场景,必须具备极高的可用性和水平扩展能力。

经过 Neo4j 和 NebulaGraph 的深入选型对比,我们发现 NebulaGraph 在各方面都更加契合 BOSS 直聘实现智能根因定位的业务需求。

三、基于 NebulaGraph 的根因定位

在完成技术选型后,BOSS 直聘围绕“如何将复杂故障问题转化为结构化图问题”,构建了一整套基于 NebulaGraph 的根因定位机制,涵盖建模、采集、计算与展示四大核心环节。

(一)多维度依赖建模:从业务全景到物理实体

为实现精准、全面的故障识别与定界,团队基于实际架构将图谱建模划分为多个层级:

  • 水平层建模:定义服务之间的调用关系,如应用之间通过 HTTP、RPC、SQL 等协议产生的调用链;
  • 垂直层建模:连接应用与底层基础设施,如 VM、数据库、中间件、网关等,构建完整的依赖路径;
  • 根因维度建模:抽象各种可能的根因来源(如发布变更、配置错误、资源瓶颈、硬件故障等)并纳入图中表示,构建“可归因”的根因节点;
  • 时序建模能力:通过 NebulaGraph 的多版本边(TimeRank)机制,存储调用随时间变化的性能指标,支持时序回溯与根因溯源。

(二)数据采集与图数据构建

在数据获取方面,系统打通了多个运维关键数据源,包括:

  • Trace/Span:服务调用链追踪信息;
  • Metric:来自 Prometheus、JVM 等的性能指标;
  • Log/Event:日志与告警事件;
  • Infra 信息:主机、容器、中间件资源状态。 上述数据通过 Kafka 采集后进入图构建流程,经过统一的属性富化、聚合与点边建模,最终转化为包含属性和时间的 NebulaGraph 图谱结构。构建过程中,节点间的边不仅记录了“谁调用谁”,还嵌入了延迟、错误率等指标数据。

(三)图计算驱动的故障定位

有了清晰的图谱模型,BOSS 直聘在 NebulaGraph 上实现了一套图计算驱动的根因分析流程:

  • 定界计算:从异常告警出发,计算最短路径、上游影响范围,快速圈定可能根因范围;
  • 传播链追溯:通过图遍历与路径匹配,还原从根因节点出发的“影响路径”;
  • 根因打分与排序:根据故障发生频率、上下游影响度、关联指标异常程度,对候选根因进行打分,聚焦“最可能”原因;
  • 影响链可视化:系统自动生成“根因 → 主机/中间件 → 应用服务 → 用户影响”的完整链路,用图形方式呈现给值班工程师,辅助快速止损。

采用 PageRank 算法动态计算节点故障权重:

1. 数据融合

整合链路追踪、系统指标、日志三大数据源,构建统一的全链路异常拓扑图,发现多个真子图分散出现在图结构中,每个子图都有“风暴中心”。

2. 图算法驱动定位

采用 PageRank 算法动态计算节点故障权重:

  • 计算:Rank 值由节点出入度、链路错误数、事件进行加权计算
  • 输出:Rank 值最高的 TopN 故障节点(即 “风景眼”)

3. 关联分析

通过图关系划分关联队列(直接故障节点)与非关联队列(间接影响节点),精准缩小排查范围。

应用示例

  • 根因:该图描述了由于网络设备 A 端口故障,影响了主机,进而影响了应用 auth-service.
  • 影响:进而链式传递影响了数个应用,风暴眼位 auth-service. 根因位网络设备 A.

(四)联动触发与治理闭环

该图谱系统还被用于联动故障止损与恢复流程:

  • 告警触发后,自动调用根因图分析,聚焦故障“发源地”;
  • 同步通知责任团队或通过自愈策略(如摘流、重启、降级)实现自动化止损;
  • 故障恢复后自动记录事件链路,作为后续 SLO 回溯与稳定性分析的依据。

四、运维效能的全面提升

NebulaGraph 驱动的根因定位为 BOSS 直聘的稳定性保障带来了显著收益,严格遵循了故障响应(发现->处理->恢复)三阶段优化目标,核心体现在 MTTR 的大幅缩短:

五、未来迈向智能运维(AIOps)

BOSS 直聘的 NebulaGraph 实践已取得显著成功,但探索并未止步,团队着眼于更智能化的未来:

  • 数据建模增强:覆盖更全面、更细节的建模数据。并预计算与存储,构造高质量建模;
  • Data Agent:专门分析关联形数据结构的 AI 助手,从关联形数据中提取重点;
  • 根因定位 Agent:从海量的日志、监控等中挖掘目前无法发现的根因。

BOSS 直聘基于 NebulaGraph 构建的异常调用根因定位平台,是图数据库技术在现代复杂 IT 运维场景中成功落地的典范。NebulaGraph 有效解决了传统运维故障定位难、定界慢、协作乱的痛点,实现了 MTTR 的显著优化,为业务稳定性构筑了坚实屏障。期待随着持续深化 Graph+AI 应用,BOSS 直聘的智能运维之路越走越宽广。