故障处理流程和规范

1、背景

目前架构团队负责公司很多核心服务,包括商品中心、订单中心、优惠券中心、用户中心、网关等等服务。作为主链路的关键核心,服务的稳定性和可靠性直接到影响到用户口碑和体验,同时也影响到公司的营收,所以线上服务的稳定性和可靠性是每位同学都需要重点关注的事情。

当线上服务发生故障,我们希望每一个团队或技术同学在应对故障的处理方式上,都能做到合理和迅速地止损,把业务影响和损失降到最小。那我们该如何做呢?怎样才能让我们工作做得更好呢?下面详细步骤就是我们要具体做得工作。

2、故障反馈

  • 用户主动反馈

1)C端用户反馈
2)产品反馈
3)业务反馈

  • 服务负责部门自行发现

1)系统报警发现异常
2)服务日常巡检发现异常

3、故障确认

不管是收到报警信息,还是收到业务用户反馈,我们都需要进一步确认并验证服务或功能是否正常,确认问题的同时通知反馈方我们正在跟踪处理,让反馈方放心。

  • 确定问题边界
    根据反馈信息,快速判断问题归属。
    1)若是使用问题,直接通知反馈方。
    2)若是服务问题,协调对应服务负责人一起排查。

4、确定故障主导人

  • 如何确定故障主导人
    1)如果问题只涉及一个服务,那么服务负责人就是故障主导人。
    2)如果问题涉及多个服务,那么由相关服务负责人协商并快速确定一个故障主导人。
    如果协商无果,则往上报,由上级直接指定一个故障主导人。(原则上不允许出现这种情况)
  • 故障主导人的作用
    1)协调相关人员排查并处理故障
    2)及时跟踪汇总故障处理进度
    3)及时同步故障处理进度

确定故障主导人后,需同步出来
故障主导人:XXX
相关处理人:XXX、XXX、XXX
预计完成时间:
紧急处理方案:

5、故障分析

可根据经验来快速判断,若不能快速判断问题所在,则可结合日志和监控来分析。

  • 根据SLS日志分析

根据反馈信息,快速排查日志并分析定位问题。
注:可先根据提供的信息找到trace_id,然后通过trace_id找到该请求相关的所有日志。

  • 根据监控指标分析

包含ARMS、AHAS、数据库、Redis、MQ、ES等维度的监控分析。
具体指标见 日常巡检计划 中的巡检指标说明。

6、故障处理进度同步

确认故障后,若故障非常严重,由故障主导人建立飞书群,把相关负责人和小伙伴都加入进来,同时告知反馈方当前情况及解决预案或方案,让反馈方有心理准备,预留buffer时间做好应对措施。如果不能及时解决,不要等待或死磕问题,请迅速联系其他同事或者把问题上升来寻求支持和帮助。

  • 同步格式

@相关人员
故障主导人:XXX
相关处理人:XXX、XXX、XXX
预计完成时间:2020-12-10 20:00:00
紧急处理方案:如回滚/重启/紧急更新等。核心是必须要在最短时间内快速修复问题。
后续优化方案:提供彻底优化方案。
后续优化时间:xxxx-xx-xx xx:xx:xx

  • 同步机制

每隔30分钟同步一次。
注:故障恢复后务必通知反馈方,告知问题已解决。

7、故障恢复

确认故障后,首先要做的就是恢复故障,常用手段如下:

  • 服务回滚

如果属于发版更新的代码BUG导致的问题,一般可通过回滚到上一个程序版本来迅速恢复。

  • 重启

部分问题可以通过重启的手段来临时恢复,以保障系统的暂时可用,但后续还需有其他方法彻底解决问题。(如pod日志太多导致磁盘告警就可通过重启来临时处理)

  • 紧急更新

在明确问题所在后,迅速修复代码,然后快速更新上线。比较依赖故障处理人技术和代码逻辑、应急处理能力。
紧急修复代码的情况下,需找一个人进行review代码,避免急而导致新的问题。

  • 限流和降级

通过将部分非核心服务或接口进行降级和限流处理,来避免核心业务受到影响。

8、故障报告

首先要明确,并不是所有故障都需要写故障报告。如果能快速恢复且影响很小,就不用写。

  • 故障报告格式

故障标题:YYYYMMDD-xxx操作引起xxx服务不可用
故障发生时间:
故障报告时间:
故障恢复时间:
故障持续时间:
故障影响范围:
故障等级:P0/P1/P2/…
PN故障处理人:xxx、xxx、xxx
故障责任人:xxx
故障描述:xxx
故障处理过程:xxx
故障原因分析:xxx
故障总结:xxx
后续改进:xxx (需确定任务、执行人、执行时间)

9、故障复盘

邀请参与人员:反馈人、部门负责人、部门相关同事。

  • 故障处理过程回顾

需要详细的记录下故障发现的时间,什么途径发现的,用了什么样的排查手段,什么样子的处理流程,处理过程中,几点几分做了什么事情,将整个过程都一一的记录下来。

  • 故障原因分析

需要将团队成员聚在一起,进行讨论,分析故障发生的原因,这里的原因不是指表象的原因,需要剖析出问题的根源。

  • 故障改进计划

针对当前故障要做哪些改进措施,应对类似问题,如何预防。给出可实施的方案以及时间计划。同时对故障等级进行认定,以及团队成员责任的追究和备案(但不提倡惩罚)。
注意:复盘后,发送邮件给相关部门和同事。

随着故障处理流程标准化和规范化,希望经过一段时间的积累,沉淀一些宝贵的故障数据,为系统优化提供参考。同时也希望小伙伴们对生产环境保持敬畏之心,并加强故障的处理意识。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白云coy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值