稳定性之故障应急处理流程

沙海 2021年5月19日05:14:41Java评论99字数 3218阅读10分43秒阅读模式
摘要

速读摘要

速读摘要文章源自JAVA秀-https://www.javaxiu.com/23934.html

仍然无法彻底避免一点风险都不会产生,当稳定性风险产生后,怎么快速协调组织,缩短故障时长,科学的流程就非常重要了。负责组织和协调故障快速恢复、故障群里通报相关进展。如果故障不能在第一时间通过预案恢复的话,通讯员将会是仅次于指挥员的角色。在团队内有一定稳定性认知,然后通常又不是快恢负责人和问题诊断负责人第一人选的那个同学。通常我们不希望这个人出现在故障1-5-10的恢复环节,但是当快恢失效并且短时间内缺乏有效手段恢复服务的话,最后只能靠问题诊断负责人来找到根本原因,并制定解决方案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

原文约 2603 | 图片 2 | 建议阅读 6 分钟 | 评价反馈文章源自JAVA秀-https://www.javaxiu.com/23934.html

稳定性之故障应急处理流程

原创 金喜 阿里技术 文章源自JAVA秀-https://www.javaxiu.com/23934.html

收录于话题文章源自JAVA秀-https://www.javaxiu.com/23934.html

#稳定性文章源自JAVA秀-https://www.javaxiu.com/23934.html

5个文章源自JAVA秀-https://www.javaxiu.com/23934.html

稳定性之故障应急处理流程文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

一  概述文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

尽管我们可以通过稳定性体系建设,来避免出现生产系统故障。但是仍然无法彻底避免一点风险都不会产生,当稳定性风险产生后,怎么快速协调组织,缩短故障时长,科学的流程就非常重要了。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

好在我们现在就开始思考的话,我们还有充足的时间去设计各个环节,并让参与的同学充分的锻炼,从而做到训练有素,为故障恢复争取宝贵的时间。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

二  结构化问题解决文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

对于问题解决有很多结构化解决方法,尤其是各种专业的咨询公司,这些流程值得我们借鉴。结合软件系统的生产环境故障来描述的话,一个典型的结构化问题解决步骤如下:文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 问题定义:清晰的描述问题现象、影响,其中影响要尽量量化。例如xx时xx分开始,xx服务异常,成功率从99%下跌到90%。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 临时解决:基于预案的临时解决方案和实施结果,包括符合条件的预案执行,或者应用发布过程中出现的异常后立即回滚。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 分析问题原因:结合已知因素,找到问题的根本原因。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 制定解决方案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 实施解决方案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 标准化解决方案:将解决方案标准化,举一反三,避免同类问题继续发生。文章源自JAVA秀-https://www.javaxiu.com/23934.html

生产环境中,出现突发异常时候,我们第一优先的是考虑怎么快速恢复服务,因此本文中重点介绍上面流程中前面2个步骤。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

另外,问题解决里,沟通是贯穿在整个流程里的。需要在各个环节都做好充分的沟通。文章源自JAVA秀-https://www.javaxiu.com/23934.html

三  关键角色文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

突发异常的情况都各有不同,很难有一个完全统一而且颗粒度很细的标准流程,但是可以提前约定好几个关键角色,定义角色的作用和关键动作,来提升协作效率。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

主要包括这些角色:文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 指挥员:负责组织和协调故障快速恢复、故障群里通报相关进展。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 通讯员:负责收集、记录关键信息,并在故障群等渠道跟相关团队沟通。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 快恢负责人:根据故障现象、监控大盘,决策并执行预案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 问题诊断负责人:定位故障根本原因,当快恢不起作用的话,该角色至关重要。文章源自JAVA秀-https://www.javaxiu.com/23934.html

以下是各个角色的详细描述。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

1  指挥员文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

指挥员的选择文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 第一接警人:默认第一个收到告警、投诉反馈的技术人员作为指挥员。第一接警人判断是否能够指挥,或者是否有自己熟悉且充分演练的预案可用,如果可以则立即恢复服务,否则联系专职指挥员接手。在专职指挥员接手之前,第一接警人就是默认的指挥员。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 专职指挥员:团队 Leader 和稳定性负责人是大多数风险的最佳指挥员,当应急团队建立联系后,指挥员可以交由 TL 或团队内的稳定性负责人。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 各级TL:当故障时长和等级持续上升后,根据实际情况会上升,由更高层级 TL 接掌指挥员角色,以协调更多资源加入。文章源自JAVA秀-https://www.javaxiu.com/23934.html

指挥员关键动作文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 确认问题:确定该次突发事件的现象、影响。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 确定角色:确定参与该次事件处理的关键角色,包括通讯员、快恢负责人、问题诊断负责人。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 向上沟通:让组织中关键角色知晓该问题,这样在需要时候,可以更快的调动更多人员和资源参与进来。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 协调:协助快恢负责人和问题诊断负责人解决问题,在信息、领域专家等资源上给予支援。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

对指挥员的要求文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 启动:确定人员,并通过视频会议、故障群等方式建立起应急小组。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 前期:紧盯快恢负责人进展,优先落地快恢,而不是分析根本原因。当快恢不生效后,也要继续探索可能的快恢手段,例如回滚近期的变更等操作。过往的故障时长没有满足1-5-10的案例中,大多数情况下都是指挥员在分析问题根本原因,错失了快恢的最佳时机。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 中期:尝试大量手段都无法恢复服务的话,重心逐渐转移到问题诊断负责人这里,找到根本原因。通常进入到这个阶段故障还没恢复的话,就是大故障了,1-5-10基本上是无法达标的。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 后期:组织团队继续观察,确认不会问题再复现。组织善后和复盘等工作。文章源自JAVA秀-https://www.javaxiu.com/23934.html

2  通讯员文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

如果故障不能在第一时间通过预案恢复的话,通讯员将会是仅次于指挥员的角色。高效组织信息收集、整理,会让整个应急小组更快速度找到解方案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

通讯员选择文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 专职通讯员:在团队内有一定稳定性认知,然后通常又不是快恢负责人和问题诊断负责人第一人选的那个同学。文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 其他不参与问题诊断和快恢的团队成员。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

通讯员关键动作文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 持续确认问题和通报:随着时间推移,问题的现象、影响面也在动态变化,需要定期通报(故障群、电话会议等渠道),前期要做到5分钟换一次通报,随着时间推移,后期可以改成15分钟、30分钟等间隔。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 信息收集:按照标准模版,为该问题建立一个统一的文档,把文档链接放到群公告、故障群中。并持续将收集的关键信息更新进去。方便后续加入到应急小组的同学快速了解上下文。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 收集舆情:这一点跟信息收集有重叠,之所以特别强调出来,是因为该环节通常容易被忽略,技术同学容易陷入在技术指标中,对于舆情缺乏关注。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 对外发声:联系客服负责人,与客服团队合作,安抚客户。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

对通讯员关键要求文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 前期要快:快速收集关键信息,黄金10分钟内要做到每分钟有信息更新,并持续通报。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 通报及时:好的信息通报是告知下次通报时间,例如xx问题yy正在处理中,目前情况是zzz,xx分钟后将进行下一次通报。如果有可靠和及时的通报,关注该问题的人只需持续留意信息通报即可,避免非专业的插手影响应急小组快速反应。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 联系外部支援:涉及到外部依赖方的时候,例如OSS、MySQL等,通过指挥员、应用Owner等渠道知晓外部接口人的时候,及时组织外部接口人加入到应急小组中来,并向对方通报问题上下文。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

3  快恢负责人文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

我们的期望是所有的风险都能够通过快恢来解决,如果不能的话,也是第一时间探讨其他可行的快恢方案(比如回滚等操作)。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

快恢负责人选择文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 应用Owner/核心骨干。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 执行过该应用预案的团队成员:我们鼓励团队之间交叉执行预案,当应用Owner联系不上的时候,其他同学也可以通过预案来协助问题恢复。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

快恢负责人关键动作文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 执行快恢预案:根据问题现象,找到预案大盘,根据大盘上监控指标指引去执行相应的预案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 制定其他候选恢复方案:当已知快恢预案不生效时候,分析可能的变更等因素,通过回滚等方法尝试恢复。必要时候,让指挥员协调更多人进来支持。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

快恢负责人关键要求文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 以恢复服务为第一优先级,问题根因分析请交给问题诊断负责人。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 既定预案不能快恢,也要继续探索其他可能的恢复手段。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

4  问题诊断负责人文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

通常我们不希望这个人出现在故障1-5-10的恢复环节,但是当快恢失效并且短时间内缺乏有效手段恢复服务的话,最后只能靠问题诊断负责人来找到根本原因,并制定解决方案。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

问题诊断负责人选择文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 应用Owner/骨干:了解相关代码的人最适合去做问题诊断。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 领域专家:比如网络问题,可以从集团找到该领域专家协助参与进来。文章源自JAVA秀-https://www.javaxiu.com/23934.html

问题诊断人关键要求文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 根据收集的信息,找到问题根本原因。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 向指挥员、通讯员提出要求,把外部支援邀请加入到应急小组中。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

四  最后文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

故障应急响应是维持系统高可用的最后一个机会,这个环节的不专业表现,对于稳定来说是最后彻底的失守。因此,跟预案演练一样,故障应急也需要重点锻炼。一些可以锻炼的机会包括:文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 真实的故障场景。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 红蓝对抗演习:与SRE联动,通过突袭方式,模拟一次故障。文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

  • 常规报警升级:TL或者稳定性负责人随机抽取一个短信告警,人为将其升级为故障,进入故障应急响应流程。文章源自JAVA秀-https://www.javaxiu.com/23934.html

2021阿里云峰会暨开发者大会文章源自JAVA秀-https://www.javaxiu.com/23934.html

稳定性之故障应急处理流程文章源自JAVA秀-https://www.javaxiu.com/23934.html

文章源自JAVA秀-https://www.javaxiu.com/23934.html

亲爱的开发者,阿里云开发者大会5月29就要在北京国家会议中心开幕啦!们邀请了互联网大咖、技术大佬们和大家一起聊聊技术,聊聊开发者的未来…我们非常诚挚的邀请你参与这次大会。点击“阅读原文”即可报名,期待你如期赶赴江湖之约!文章源自JAVA秀-https://www.javaxiu.com/23934.html

阅读原文文章源自JAVA秀-https://www.javaxiu.com/23934.html

继续阅读
速蛙云 - 极致体验,强烈推荐!!!购买套餐就免费送各大视频网站会员!快速稳定、独家福利社、流媒体稳定解锁!速度快,全球上网、视频、游戏加速、独立IP均支持!基础套餐性价比很高!这里不多说,我一直正在使用,推荐购买:https://www.javaxiu.com/59919.html
weinxin
资源分享QQ群
本站是JAVA秀团队的技术分享社区, 会经常分享资源和教程; 分享的时代, 请别再沉默!
沙海
匿名

发表评论

匿名网友 填写信息

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定