稳定性经验分享:如何应对生产事故

简介: 稳定性经验分享:如何应对生产事故

1. 事故洞察

首先,你得对自己负责的系统了如指掌,同时有多种渠道来源,能够帮助你第一时间发现生产事故,比如实时监控预警系统、客诉部门、基础服务支撑部门、第三方服务依赖方等等。

如果核心业务交易量大、交易分布时间相对平均、业务面向 C 端用户多、业务重要程度高,需要特别安排 7*24 小时监控室 + 工程师轮值 on-call 机制,on-call 要求轮值工程师在一定时间内随叫随到,做好生产环境出现紧急情况的应对准备。

2. 事故分析

如果确保了第一时间能够发现生产问题,接下来最重要的事情不是去定位问题发生的根本原因,而是要先去分析事故的影响范围和严重程度,比如是否会产生资损风险、资损的金额可能有多大、影响用户的范围有多大、是否非常严重等等。

因为研发人员的特点是发现问题会习惯性地排查问题的原因,而且一般都会觉得自己可以快速解决掉问题。可往往真实情况是,一个技术难点陷进去之后需要很长时间,就算这个难点解决了,却发现又出现了第二个问题。这就像电视剧里面通过线索排查案情一样,问题一环套一环,结果是时间可能已经过去了 30 分钟,问题也没有解决,这个时候生产事故已经扩大影响范围。

3. 事故升级

如果事故属于严重程度,需要立刻进行事故升级,通知相关业务方和上级领导。

及时向上级汇报有三大好处:

第一,领导会根据严重程度协调高层资源,进而加快解决问题的速度;

第二,没有完美的生产事故解决方案,很多时候需要领导在不同方案中做决策;

第三,就算这次事故没有处理好,第一时间告知领导之后,至少不失告知责任。

需要注意的是,在给领导汇报生产事故的同时,最好提供一些事先应对预案,并将不同预案的风险和优缺点如实告诉他,请他来决策和支持。

4. 事故应对

如果你在长期的应用运维过程中不断积累和沉淀,那么,对于 80% 的常见问题你是可以提前做出应对的。

比如,Java 系统产生 OOM 内存溢出,虽然不知道是什么原因导致的,但是可以通过立即重启来恢复服务;再比如数据库连接池占满,导致其他服务不可用,如果没有最好的方案,可以从数据库层面杀掉耗时最长的慢连接。

5. 事故复盘

事故解决之后,需要做的事情是复盘事故发生和解决的详细过程,包括发生时间、参与人员、详细处理过程、结束时间等环节。如果事故的应对方案是短期临时方案,还需要进一步针对此次事故制定长期解决方案,并且快速上线。

复盘最主要的目的不是问责,而是回顾解决事故的整个过程,总结经验,下一次遇到类似问题能够更加快速从容地应对。此外还能通过复盘分析事故的特点,寻找能够提前避免的预防方案,因为最重要的事情还是需要做到事前预防,而不是事后补救。

6. 故障预案

这里所说的方案池更像是历史生产事故记录表,也就是生产事故预案,你可以把经常发生的事故的应对方案放到应急方案池中,作为团队的共享资源。一旦发生这类问题,就算是新入职的同事也可以参考方案池快速解决问题。

如果再有新的事故发生,就再次把新的方案融入到方案池,这样方案池就越来越丰富,从而不断积累形成宝贵的经验。通过这种方式,生产系统的新问题一定会越来越少。

7. 故障演练

研发团队需要不定期做故障演练,包括数据库故障演练、应用故障演练、网络故障演练等一系列的极端情况下的故障模拟,确保真正出现问题的时候,能够沉着应对。

当你掌握了这些方法,就能从容地应对生产事故,避免或者减少生产事故所带来的影响。

目录
相关文章
|
3月前
|
监控 安全 测试技术
研发中如何保证产品质量的稳定性
研发中如何保证产品质量的稳定性
|
7天前
|
机器学习/深度学习 人工智能 运维
探索运维的无形之链:从反应到预防的转变
【8月更文挑战第12天】在数字化时代的浪潮中,运维领域正经历着一场静悄悄的革命。本文将深入探讨这一转变的本质,包括它如何影响组织结构、决策过程及运维人员的日常职责。文章旨在揭示,通过对运维模式的革新,企业能够如何更好地预测和防范潜在的系统问题,从而实现从被动应对到主动预防的飞跃。
|
3月前
|
消息中间件 监控 前端开发
研发人员如何做好日常工作的稳定性保障
本文介绍了一些研发人员如何做好稳定性建设的工作事项
111 0
|
3月前
|
监控 容灾 测试技术
如何保障线上产品质量?
如何保障线上产品质量?
162 0
|
9月前
|
存储 测试技术 API
面对大促场景来临,如何从容进行性能测试
面对大促场景来临,如何从容进行性能测试
|
运维 监控 测试技术
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(4)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(4)
134 0
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(4)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.4故障演练与紧急预案设计
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.3 平台网站业务稳定性保障——5.3.4故障演练与紧急预案设计
164 0
|
弹性计算 运维 安全
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(1)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(1)
216 0
|
弹性计算 监控 负载均衡
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(3)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(3)
149 0
|
弹性计算 运维 监控
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(2)
《云上业务稳定性保障实践白皮书》——五.行业客户稳定性保障实践——5.1 游戏业务稳定性保障——5.1.1新游上线稳定性保障实践(2)
185 0