区块链技术资源分享
追寻中本聪先生的脚步

云平台宕机突发事故@孤鸿泽

微博@孤鸿泽

记一次重大事故处理

正在开会的我,手机突然收到密集报警,短信微信响个不停,我脑袋嗡一下,心想完了,平台出问题了。

我马上离开会议,飞奔到监控运行中心。

监控屏幕上全是红色警报,当值工程师告诉我平台所有服务宕机。

我的手机响个不停,我都直接挂断,然后告诉几个SRE(应用运维工程师)不要接任何人电话,专心分析问题,要在5分钟内定位根本原因,提供给我。

2分钟后我接通了CTO的电话,简单的汇报一下立即挂断,然后被他拉到一个高管电话会议之中。

一个项目总经理在会议怒吼,中断一分钟公司损失几十万。我很平静的回复他,激动也没用,他的信息对我们处理故障并没有实际帮助。

我要调动资源处理故障,所有人都要配合我,而不是指责我,有问题故障恢复后再说。

3分钟后,微信应急群炸锅,各产品线人员七嘴八舌,吵成一团。

我在微信群发话,谁在说与处理故障无关的话我就把他踢出去,一个部门经理问道,那我们怎么办?我淡淡的说,等。一个开发小伙发了霸气侧漏四个字以后,群安静了。

4分钟以后架构师向我报告问题根源,初步分析是多重原因导致的结构性平台崩溃。

主要原因是DDOS攻击,异常流量同时引发了搜索引擎爬虫集中抓取,应用层请求巨大不断重试不释放数据库链接,平台层资源枯竭引起了调度器混乱,分布式应用系统陷入混乱……

我当机立断,布置任务,启动一级应急预案,流量SRE修改WAF(防火墙)规则抵抗DDOS同时屏蔽所有蜘蛛,应用层SRE重启所有应用进程,平台层OP紧急注入备用资源扩容资源池,数据库DBA重置数据服务器连接……

7分钟后数据库恢复,8分钟后平台恢复,10分钟后WAF配置重载完成。11分钟后应急群里开始播报,核心业务恢复,A项目恢复,B项目恢复……15分钟后全部业务恢复服务。

事后复盘会上还有个部门总监想甩锅给我,他说,都是你们基础平台的问题连累了大家,你们一直出问题,应该承担责任。

我二话没说在投影上调出了他们项目组的数据,在几分钟之内几百万次调用请求,并且不断重试,不释放链接,拖垮了数据库。

我问他,你们开发程序就没有个资源保护机制吗?没有断路器吗?不会请求降级吗?不懂释放连接吗?一下把数据库资源池耗尽,这也是我的问题吗?他哑口无言。

我总结到,从这次事故来说,暴露出我们平台的各方面问题,咱们谁的瓜谁领,WAF防DDOS配置不完善是我们的责任我不推脱,资源池耗尽是我的问题。然后其他总监各自检讨自己的问题,应用开发太傻,资源调用不合理,要加上服务降级,没有重试抑制,需要断路保护……

最后CTO发话,他也有不可推脱的责任,过于追求功能快速迭代,忽视了安全机制和程序的强壮性,过于追求资源利用率,驳回了基础平台部的资源扩容申请……。

我说,这锅还是CTO才能背的动,别人实力不够呀。哄堂大笑。

经过这次暴露的问题,各部门加班加点整改,整个平台的综合素质上了一个台阶,再也没发生过类似问题。

遇到重大事故处理时,我的经验总结:

  1. 稳住自己的情绪,保持头脑冷静。
  2. 屏蔽无效干扰,一槌定音。
  3. 抓住核心矛盾,快速定位问题所在。
  4. 分析要全面,决策要科学,做事要果断。
  5. 调动一切资源全力以赴恢复生产。
  6. 有条不紊处理问题,不要忙中出错。
  7. 关键时刻要勇于担当,承担决策责任。
  8. 不要捂盖子,全面总结复盘整改问题。

@菊厂刘掌柜:

刚进菊厂是网络工程师,负责数据中心的网络维护,三级故障2小时响应处理,二级故障1小时响应处理,一级故障15分钟响应处理,凌晨1点去现场属家常便饭。

处理一级故障,主管,总监电话不停的问进展,升级短信发送至副总裁。

经过一年的磨炼,从手忙脚乱到后来抽丝剥茧从容应对,环境锻炼人。

云平台宕机突发事故

 

分享到:更多 ()

来评论吐槽 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

快手号:神吐槽shentucao

交易所地址更多手机免费挖矿APP