最佳实践解读:互联网公司线上故障标准化排障流程
线上故障通常是指影响线上服务可用性的问题或者事件,包括服务性能的降低、出现影响用户体验的问题、不同程度的服务不可用等。为了确 保服务稳定性和用户体验,线上排障的第一目标是恢复线上服务或者降低影响。随着技术的发展,产生了诸如Google、Amazon、Twitter、淘宝、得物、字节等新兴互联网公司,其业务体量大,系统复杂程度高,时时刻刻服务成千上百万的用户,这都对故障处理的能力和及时性都提出了更高的要求。本文对互联网公司线上故障标准化排障流程做一简单分析,总结一些肤浅的方法论,以求共同探讨,共同提高。
故障处理目标
故障管理的目标是“尽快恢复服务到正常运行,并且最小化对业务运营的不利影响,从而尽可能地保证服务质量和可用性的水平”,即所谓的止血。即使不能立刻完全恢复,也要想办法将其影响降到最低,迅速止血。所以往往重启服务、扩容、降级、熔断等方法都是在紧急情况下首先想到的方法,先试试再说,之后再彻查问题,从根本上解决问题。
实际工作中,找到了问题的根因原因,解决问题之后,并不代表本次处置就完成了。对于任何一个故障,其真正的处理目标应该是两方面,一方面尽快恢复服务,完成止血;另一方面要及时复盘总结,举一反三,不断完善流程处理机制,弥补操作过程中的规范问题,形成报告,在公司层面分享总结经验,提高应对能力的同时也要能够减少同类故障的发生。
故障处理思路
线上故障处理的目标是最快速度恢复线上服务或者降低对线上服务的影响,“快速”是对其最基本的要求之一,所以要要求故障发生时候需要能够最短时间发现,发现后要能最快对其进行评估和分类,同时根据评估结果能够充分调动各方资源最短时间内制定出可执行的应对方案,同时在整个处置过程中也都需要运维、业务研发、产品、基础设施等多团队互相协作,保持高效的沟通。基本的处理思路如下:
故障识别与告警
线上故障一般通过多种途径传递到开发、运维团队中,例如主动巡检发现,各纬度各类型监控告警,关联故障追溯,生产事件上报。首先需要对上报的信息判定是个例问题,还是确实是线上故障。以主动发现为根本建设目标,例如可观测性建设的目标和价值体现就是能够将故障主动、及早发现和定位。
故障评估与分类
针对识别出的问题,进行严重性评估,判断问题的影响范围和严重性。根据评估结果,将问题进行分类,设定问题处理的优先级,同时通知各相关业务、技术部门人员故障情况,准备参与排查。进行评估分类需要多维度的数据支撑,往往缺失数据或存在盲区时更多依赖人员经验和能力。