最后更新日期:2024年12月16日
当您在IT部门工作的时候,碰到了一场突发事件。在当下,您可能会优先处理表面上看到的问题。比如:假设您的网站瘫痪了,您可能会先尝试能否通过重启服务器来解决问题。但是,这只是一时之计,而要从深层次找到解决问题的关键,分析事件发生的根本原因,才是解决问题的重要举措。根本原因分析 (RCA) 就是用来帮助团队做到这一点的,它可以通过提出 “为什么会发生这种情况?”等问题,找到问题的根本并加以解决,从而避免事件的再次发生。
在本文中,我们将介绍如何开始进行 RCA、涉及的步骤以及 RCA 的类型,以帮助您找到任何问题的主要原因。
根本原因分析 (RCA) 是一种系统性方法,它通过反复询问 “为什么 ”的问题,深入查找事件发生的根本原因,直到无法提供其他诊断性答复为止。它通常在事件问题解决后进行分析或讨论。
RCA 的主要优势在于它能从根本发现出现错误的原因,使团队能够找到正确的措施来解决问题,并阻止问题的再次发生。通过使用各种方法,RCA 可以帮助发现在事件解决过程中可能被忽略的线索。这样就能找出事件发生的确切原因,从而用于防止今后再次发生类似事故。
一家开源代码库公司
该公司经历了一次严重的在线服务中断事件,原因是从主数据库服务器中意外删除了某些数据。
这次事故导致数小时都无法向用户提供存储库服务。为防止今后再次发生这种情况,该公司对操作和恢复程序进行了多次改进。最初,该公司依赖于备用模式下的单个主数据库和辅助数据库,将辅助数据库作为突发故障发生时用来切换的备份。然而,这种设置却给单个数据库带来了过大的负荷。
一名工程师提前在暂存环境中为信息设置了几个特殊的存储服务器,以平衡任何传入的负载。在开始工作之前,工程师对生产数据库进行了快照,并将其加载到公司的暂存环境中。在试图将流程恢复正常时,工程师误将 PostgreSQL 数据库当作辅助数据库而将其清除。当意识到错误并将数据库恢复到先前状态时,大约 300GB 的数据已经被清除。
为了恢复存储库,恢复团队不得不使用中断前六小时的 LVM(逻辑卷管理器)快照。当存储库恢复为正常模式,团队就开始使用 “五个为什么 ”的方法来执行 RCA。
该事件被进一步细分为两个主要问题:
1.服务停机了18个小时:
提出的问题是:
- 为什么存储库停机了?
- 为什么数据库目录被删除了?
- 为什么复制停止了?
- 为什么数据库负载增加了?
等等。
2.恢复服务耗时超过 18 个小时
提出的问题是:
- 为什么恢复花了这么长时间?
- 为什么恢复需要暂存数据库?
- 为什么团队没有使用标准备份程序?
- 为什么备份程序没有定期测试?
以及更多。
通过这次深入研究之后,该组织能够改进包括灾难恢复在内的各种恢复程序,并找出了这些程序中存在的漏洞。此外,该事件还使其建立了一个严密的监控仪表板,以加快未来的解决时间。
上述案例强调了 RCA 在该公司减少未来停机时间、提高运营和服务效率方面所发挥的作用。接下来,让我们来看看您的企业应当如何执行 RCA 以及具体步骤是什么。
不同组织和行业的 RCA 映射可能略有不同,但以下是执行 RCA 的五个最常见步骤:
1.定义问题:
当一个事件问题发生时,首先要做的就是控制或隔离受影响的区域,这是需要解决和结束事件的地方。当需要杜绝事件再次发生时,有必要深入探究事故发生的原因,就要开始产生针对事件发生的问题进行深入了解。这就是 RCA 流程的起点,也是界定造成事件发生的问题的关键所在。确定问题需要了解要解决的问题、问题造成的影响、发生的时间和日期、 等等。
2.收集数据:
找到问题后,整理与具体事件相关的所有可用数据和证据,开始了解根本原因。同时,要考虑到此次发生的事件或之前类似事件相关人员的第一手经验和证据,这也是非常重要的一部分。
3.确定根本原因:
这就是RCA过程的开始。您可以使用各种RCA技术,每种技术都可以帮助您寻找可能揭示根本原因的小线索。
4.实施解决方案:
确定根本原因后,就可以找到一个或多个解决方案。您可能根据所处情境立即实施,也可能需要做一些额外的工作。无论如何,根据其可行性,在实施解决方案或变通方法之前,RCA 都不算完成。
5.记录采取的动作:
确定并执行纠正措施后,记录问题和整体解决方案,以便未来的员工可以将其作为整合的资源或参考资料。

常用的RCA方法
RRCA 的目标是识别问题的所有潜在原因。使用分析方法是完成这一任务的有用工具。五种常用的 RCA 方法是:
- 五个为什么方法
- 鱼骨图
- 帕累托图
- 散点图
- Kepner-Tregoe方法
1.五个为什么方法
五个为什么法是一种简单有效的找出问题根源的方法。使用该方法时,要连续问五次“为什么?”在这个过程中,如果第一个问题没有找到根本原因,就再问一次 “为什么”。连续问几次,就能找到问题的根本原因。
以下是更详细的步骤:
- 定义问题
- 询问问题发生的原因
- 写下原因
- 如果第一个问题没有找到根本原因,再问一次 “为什么?”并写下原因
- 继续这个过程,直到找到问题的根本原因。
五个为什么法可用来找出与性能相关的问题。通过这种方法,可以对问题进行更彻底的深入研究,并找出导致 IT 基础设施、技术人员、人员和其他要素性能变化的主要原因。

2.鱼骨图
鱼骨图,又称石川图或因果图,是一种直观展示因果关系的方法。它通过鱼骨的形式将问题的根本原因可视化:图中间的“脊柱”代表需要解决的主要问题,“肋骨”则表示各种潜在原因。在服务管理中,鱼骨图通常从人员、流程和产品三个方面展开分析,将复杂的问题逐步拆解,帮助服务台技术人员快速找到关键原因,避免忽略重要因素。
使用鱼骨图进行根本原因分析(RCA)的步骤:
- 清楚定义需要解决的问题,尽可能收集相关数据和背景信息。
- 利用鱼骨图头脑风暴,尽可能多地找出所有潜在原因。
- 将原因归类到主要因素中(如人员、流程、环境或机器)。
- 在鱼骨图的某些分支下,可能会发现多层次的原因,这些往往是问题的根本原因。
- 针对根本原因提出纠正措施并实施,同时监控解决方案的效果,防止出现新的漏洞,并建立更加完善的解决方案。
鱼骨图的用途:
- 提高服务质量。找出问题根源,有助于优化服务质量和提升客户满意度。
- 降低成本。在经济不景气或预算紧张时,鱼骨图能帮助企业找到成本超支的原因,从而制定有效的节约措施。

3.帕累托图
帕累托图表是一种用于从大量因素中找出最可能导致问题关键因素的工具。它结合了条形图和折线图,以条形图形式按因素出现的频率降序排列,同时用折线图显示这些因素的累计百分比。帕累托图基于80-20 原则,即80%的问题是由20%的主要因素引起的。这意味着,少数关键因素对组织内问题的数量有着显著的影响。
使用帕累托图表进行根本原因分析(RCA)的步骤:
- 明确需要解决的问题收集相关数据。
- 将数据点分为不同类别。
- 按频率递减排序,计算每个因素的累计百分比。
- 绘制图表,根据数据创建帕累托图,直观显示各因素的重要性。
- 实施解决方案,根据图表确定最关键的问题,优先解决这些问题,并采取措施防止它们再次发生。
帕累托图有助于团队快速找到问题的关键点,大幅减少重复问题的出现。
帕累托图的用途:
- 优化技术支持。识别用户最常见的问题,帮助技术团队优先解决,并制定永久性的修复方案。
- 分析事件成因。通过服务台的事件数据(如工单数量等),识别常见问题背后的原因,帮助创建预防性知识库文章,提高服务效率。

4.散点图
散点图或散点图使用回归分析来绘制对,以确定数值数据与两个不同轴上变量的关系,例如工单的优先级和已发生的事件数量。这有助于识别因测量波动而出现的问题,例如服务器流量增加时发生的容量问题。
散点图使用:
这种方法可用于组织和跟踪组织流程。通过比较输出精确度和可接受的输出,有助于提高产品或服务的质量。
质量功能特性的散点图

5.Kepner-Tregoe方法
Kepner-Tregoe (KT) 方法是一种用于找到问题根本原因的系统性问题解决方法。它通过分析导致问题的各种因素,排除无关因素,聚焦于需要解决的关键问题。KT 方法广泛应用于解决 IT 事故、制定 IT 决策、管理 IT 风险,以及通过权衡利弊制定项目计划。
KT 方法的四步系统流程:
- 情况分析:收集有关问题的所有信息,包括问题的定义、影响范围和症状,以明确问题的背景。
- 问题分析:查明问题的根本原因。通过使用因果矩阵识别潜在原因,并针对每个类别进行头脑风暴。
- 决策分析:评估解决方案的优缺点,综合考虑各选项的利弊,选择最优解决方案。
- 潜在问题分析:预测解决方案可能引发的问题,并制定备用计划以解决这些潜在风险,确保方案成功实施。
下图显示了执行RCA的KT方法所涉及的四个步骤。每一步对于确保成功的RCA和解决方案都至关重要。






