如何减少 MTTR
- 编程问题
- 2024-10-16 04:31:01
减少MTTR的方法:1. 明确定义 SLI;2. 基于 SLI 的可操作警报;3. 与警报相关的故障排除指南;4. 练习故障排除指南;5. 可用的仪表板;6. 缓解问题的自动化操作;7. 故障转移演练;8.自动故障转移;9. 变更管理流程;10. 易于识别的变更列表和自动回滚。
减少mttr的方法:1. 明确定义 sli;2. 基于 sli 的可操作警报;3. 与警报相关的故障排除指南;4. 练习故障排除指南;5. 可用的仪表板;6. 缓解问题的自动化操作;7. 故障转移演练;8.自动故障转移;9. 变更管理流程;10. 易于识别的变更列表和自动回滚。
作为一名站点可靠性工程师,我用来跟踪事件管理有效性的关键指标之一是平均恢复时间 (MTTR)。根据维基百科,MTTR 被定义为服务或系统从任何故障中恢复所需的平均时间。努力实现较低的 MTTR 是实现服务水平目标以及任何关键生产服务的服务水平协议的关键。
有助于减少平均恢复时间 (MTTR) 的 10 件事
1. 明确定义 SLI
服务级别指标或 SLI 是衡量服务健康状况的关键指标。SLI 的一些示例包括错误率、延迟、吞吐量等。
2. 基于 SLI 的可操作警报
警报策略应包括提高警报的信噪比。警报的目标是您的团队收到的每个警报都应该是可操作的。发送太多警报会导致警报疲劳,并且值班人员可能会忽略表明服务存在实际问题的警报。
3. 与警报相关的故障排除指南
每条警报都应有一份明确定义的故障排除指南,说明如何分类和缓解警报识别的问题。编写这些故障排除指南时,一个好方法是USE 方法,这是 Brendan Gregg 在其著作《系统性能》中建议的。USE 代表使用率、饱和度和错误。
4. 练习故障排除指南
定期练习故障排除指南将有助于在发生事故时减少事故的发生。它还将有助于确定与 TSG 之间的差距,因为服务会随着时间的推移而发展。练习故障排除指南的几个例子是新团队成员加入团队时,这样他们就可以对 TSG 提供全新的视角。这将减少对系统知识的假设。
5. 可用的仪表板
可观察性策略应包括创建易于使用的仪表板。仪表板应包含面板,以包含服务的关键指标以及依赖服务(例如上游和下游服务)的运行状况。仪表板中应包含的一些重要指标示例是 Google SRE 手册建议的黄金信号,例如延迟、吞吐量、错误率和饱和度指标。
6. 缓解问题的自动化操作
根据指标和事件自动执行某些操作是减少 MTTR 的关键。例如,如果观察到某些服务器出现数据包丢失,则将其从轮换中移除。这将有助于减少对用户体验的影响并减少 MTTR。
7. 故障转移演练
对于多数据中心架构,制定故障转移计划至关重要,以确保快速从特定数据中心的故障中恢复。定期练习这些故障转移方案将有助于在故障期间快速执行它们。这也有助于识别故障转移计划中的任何漏洞,并提供更新和修复故障转移计划的机会。
8.自动故障转移
一旦定义、实施和实践了故障转移计划,下一步就是根据给定数据中心的服务健康检查来自动化这些故障转移方案。这将有助于更快地缓解问题,从而减少 MTTR。
9. 变更管理流程
生产系统的变化是造成停机的主要原因。制定经过深思熟虑的变革管理流程非常重要。变更管理流程的几个关键要素应包括明确定义的清单、变更审查和批准程序、具有内置监控功能的自动化部署管道,以及在发现任何问题时快速回滚变更的能力。
10. 易于识别的变更列表和自动回滚
在将服务设计为微服务的分布式系统中,可能会连续进行多项更改。拥有一个可以轻松识别在给定时间段内进行了哪些更改的中央系统将有助于确定特定更改是否导致了中断,从而易于回滚。
结论
在本文中,我讨论了有助于缩短任何关键生产服务的平均恢复时间的 10 件事。这并不是一份详尽的列表,而是基于我多年担任TikTok、Microsoft Teams、Xbox 和 Microsoft Dynamics 等服务的站点可靠性工程师的经验而列出的最佳实践。
以上就是如何减少 MTTR的详细内容,更多请关注讯客代码网其它相关文章!