OPS07-BP04 根据行动手册调查问题
行动手册是用于调查事件的分步指南。发生事件时,行动手册用于开展调查,以及确定影响的范围和根本原因。行动手册可用于从失败的部署到安全事件的各种场景。在许多情况下,行动手册可确定根本原因,而运行手册可用来缓解其带来的风险。行动手册是贵组织事件响应计划的必要组成部分。
出色的行动手册有几个主要特点。它逐步指导用户完成事件发现过程。由外而内地思考,用户应执行哪些步骤来诊断事件? 如果行动手册中需要特殊工具或提升的权限,请在行动手册中明确地定义。请制定沟通计划,以向利益相关者提供有关调查状态的最新信息,这是事件响应计划的一个重要组成部分。在无法确定根本原因的情况下,行动手册应制定上报计划。如果确定了根本原因,行动手册应指出介绍如何解决根本原因的运行手册。应集中存储并定期维护行动手册。如果行动手册用于特定提醒,请向团队提供关于提醒中的行动手册的提示。
随着组织日趋成熟,可自动实施行动手册。从包含低风险事件的行动手册开始实施。使用脚本自动执行发现步骤。确保有配套的运行手册来缓解常见根本原因带来的风险。
期望的结果: 您的组织有针对常见事件的行动手册。行动手册集中存储在一个位置,可供团队成员使用。行动手册经常进行更新。对于任何已知的根本原因,将制定配套的运行手册。
常见反模式:
-
要调查事件,并没有标准方法。
-
团队成员依靠肌肉记忆或对机构的了解,对失败的部署进行排查。
-
新的团队成员将学习如何通过试错法来调查问题。
-
调查问题的最佳实践无法在不同团队之间共享。
建立此最佳实践的好处:
-
行动手册可帮助您减轻事件带来的影响。
-
不同的团队成员可使用同一行动手册,以一致的方式确定根本原因。
-
可以针对已知的根本原因制定运行手册,从而加快恢复速度。
-
团队成员根据行动手册能够更快地开始行动。
-
团队可以使用可重复的行动手册来扩展其流程。
未建立这种最佳实践的情况下暴露的风险等级: 中
实施指导
制定和使用行动手册的方式取决于组织的成熟度。如果您是初次使用云,请在中央文档存储库中以文本形式制定行动手册。随着组织日趋成熟,可以使用 Python 等脚本语言实现行动手册的半自动化。可以在 Jupyter notebook 中运行这些脚本来加快发现速度。先进的组织已针对可通过运行手册自动修正的常见问题,制定完全自动化的行动手册。
通过列出工作负载所发生的常见事件,开始制定行动手册。为风险较低且根本原因范围已缩小到几个问题的事件选择行动手册。在为较简单的场景制定行动手册后,可以着手处理风险较高的场景或根本原因尚不确定的场景。
随着贵组织日趋成熟,您的文本样式的行动手册应实现自动化。通过使用诸如 AWS Systems Manager Automations之类的服务,可以将纯文本转换为自动化代码。可以针对工作负载运行这些自动化代码,从而加快调查速度。可以激活这些自动化代码以响应事件,从而减少发现和解决事件所需的平均时间。
客户可以使用 AWS Systems Manager Incident Manager 来响应事件。此服务提供了单一界面对事件进行分类,在发现和缓解问题期间通知利益相关者,并在整个事件中进行协作。它使用 AWS Systems Manager Automations 加快检测和恢复的速度。
客户示例
生产事件影响了 AnyCompany Retail。随时待命的工程师根据行动手册调查了问题。随着他们逐步地解决问题,他们不断为行动手册中确定的关键利益相关者提供最新信息。工程师最终确定,根本原因是后端服务中出现竞态条件。根据运行手册,工程师重新启动了该服务,并使 AnyCompany Retail 重新联机。
实施步骤
如果您当前没有文档存储库,建议您为行动手册库创建版本控制存储库。您可以使用 Markdown 制定您的行动手册,该服务兼容大多数行动手册自动化系统。如果您从头开始制定行动手册,请使用以下行动手册示例模板。
# Playbook Title ## Playbook Info | Playbook ID | Description | Tools Used | Special Permissions | Playbook Author | Last Updated | Escalation POC | Stakeholders | Communication Plan | |-------|-------|-------|-------|-------|-------|-------|-------|-------| | RUN001 | What is this playbook for? What incident is it used for? | Tools | Permissions | Your Name | 2022-09-21 | Escalation Name | Stakeholder Name | How will updates be communicated during the investigation? | ## Steps 1.Step one 2.Step two
-
如果您当前没有文档存储库或 Wiki,请在版本控制系统中为行动手册创建一个新的版本控制存储库。
-
确定需要调查的一个常见问题。它应该是根本原因范围限于几个问题且解决方案风险较低的场景。
-
使用 Markdown 模板填写
Playbook Name(行动手册名称)
部分以及Playbook Info(行动手册信息)
下的字段。 -
填写问题排查步骤。尽可能清楚地知道要采取哪些行动,或者应调查哪些方面。
-
将行动手册提供给团队成员,让他们仔细阅读并加以验证。如果发现有遗漏之处或某些内容不清楚,请更新行动手册。
-
在文档存储库中发布您的行动手册,并告知您的团队和任何利益相关者。
-
随着您添加更多的行动手册,这个行动手册库将会不断扩大。在您拥有多个行动手册后,可以开始使用 AWS Systems Manager Automations 等工具自动执行它们,从而使自动化操作和行动手册保持同步。
实施计划的工作量级别: 低。行动手册应该是集中存储在一个位置的文本文档。对于更加成熟的组织,将转为自动实施行动手册。
资源
相关最佳实践:
-
OPS02-BP02 确定流程和程序所有者:行动手册应该有一个负责人来负责维护。
-
OPS07-BP03 使用运行手册执行程序:运行手册和行动手册类似,但有一个关键区别:运行手册包含期望的结果。在许多情况下,一旦行动手册确定了根本原因,就会使用运行手册。
-
OPS10-BP01 使用流程来管理事件、意外事件和问题:行动手册是良好的事件、意外事件和问题管理实践的一部分。
-
OPS10-BP02 针对每个提醒设置一个流程:应使用运行手册和行动手册来响应警报。随着时间的推移,应自动进行这些响应。
-
OPS11-BP04 执行知识管理:维护行动手册是知识管理的一个关键部分。
相关文档:
相关视频:
相关示例:
相关服务: