博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
线上故障处理原则
阅读量:3658 次
发布时间:2019-05-21

本文共 1314 字,大约阅读时间需要 4 分钟。

640?wx_fmt=jpeg

墨菲定律

  • 任何事情都没有表面看起来那么简单

  • 所有事情的发展都会比你预计的时间长

  • 会出错的事情总会出错

  • 如果担心某个事情发生,那么它更有可能发生

墨菲定律暗示我们,如果担心某种情况会发生,那么它更有可能发生,久而久之就一定会发生。这警示我们,在互联网公司,对生成环境发生的任何怪异现象和问题都不要轻视,对其背后的原因一定要调查清楚。同样,海恩法则也强调任何严重的事故背后都是很多次小问题的积累,当到一定量级后会导致质变,严重的问题就会浮出水面。

那么,我们需要对线上服务产生任何现象,哪怕是小问题,都要刨根问底,对任何现象都要遵循下面问题

  • 为什么会发生 ?

  • 发生了该怎么应对 ?

  • 怎么恢复 ?

  • 怎么避免 ?

应急目标

在生成环境发生故障时快速恢复服务,避免或减少故障带来的损失,避免或减少故障对客户的影响

应急原则

  • 应第一时间恢复系统,而不是彻底解决呢问题,快速止损

  • 明显资金损失时,要第时间升级,快速止损

  • 指标要围绕目标,快速启动应急过程与止损方案

  • 当前负责人不能短时间内解决问题,则必须进行升级处理

  • 处理过程在不影响用户体验的前提下,保留现场

应急方法与流程

线上应急一般分为 6 个阶段

  1. 发现问题

  2. 定位问题

  3. 解决问题

  4. 回顾问题

  5. 改进措施

过程中要记住,应急只有一个总体目标:尽快恢复,消除影响。不管处于哪个阶段,首先想到的必须是恢复问题,恢复问题不一定能定位问题,也不一定有完美的解决方案,可能通过经验或者开关等。但这可以达到快速恢复的目的,然后保留现场,以及定位问题,解决问题和复盘

发现问题

通常我们通过系统层面、应用层面和中间件层面监控来发现问题

  • 系统层面监控包括

  1. 系统的 CPU 使用率

  2. Load average 

  3. Memory 

  4. I/O (网络与磁盘)

  5. SWAP 使用情况

  6. 线程数

  7. File Description 文件描述符等

应用层面监控包括

  1. 接口的响应时间

  2. QPS

  3. 调用频次

  4. 接口成功率

  5. 接口波动率等

中间件层面监控包括数据库、缓存、消息队列。 

  1. 对数据库的负载、慢查询、连接数等监控

  2. 对缓存的连接数、占用内存、吞吐量、响应时间等监控

  3. 消息队列的响应时间、吞吐量、负载、堆积情况等监控

定位问题

分析定位过程中先考虑系统最近发生的变化,需要考虑如下几方面

  • 故障系统最近是否上过线?

  • 依赖的基础平台与资源是否升级过?

  • 依赖的系统是否上过线?

  • 运营是否在系统内做过运营变更?

  • 网络是否有波动?

  • 最近的业务量是否涨了?

  • 运营方是否有促销活动?

解决问题

解决问题要以定位问题为基础,必须清晰定位问题产生的根本原因,在提出解决问题的有效方案,没有明确原因之前,不用使用各种方法来尝试修复问题,可能还没有解决这个问题又引入了下个问题,想想刚刚提到的墨菲定律

回顾问题

解决问题后,需应急团队与相关方回顾事故产生的原因、应急过程的合理性、提出整改措施,主要聚焦在以下几个问题:

  • 类似的问题还有哪些没有发生?

  • 做了哪些事情,事故就不会再发生?

  • 做了哪些事情,及时发生故障,也不会产生影响?

改进措施

根据回顾问题提出的改进措施,以正式的项目管理方式进行统一管理,采用 SMART 原则来跟进

参考

  • 分布式服务架构原理、设计与实战

转载地址:http://dacfn.baihongyu.com/

你可能感兴趣的文章
finally_Keyword
查看>>
final_Keyword
查看>>
enum_Keyword
查看>>
extends_Keyword
查看>>
if_Keyword
查看>>
implements_Keyword
查看>>
import_Keyword
查看>>
int_Keyword
查看>>
超详细解读:神经语义解析的结构化表示学习 | 附代码分析
查看>>
在 CentOS 6 里安装 OpenJDK 1.8 和 Tomcat 8.5
查看>>
在 Debian 9 里安装 php5.3 fpm
查看>>
【干货合集】12篇文章带你读懂敏捷架构!
查看>>
手把手教你从零搭建深度学习项目(附链接)
查看>>
主题演讲:漏洞扫描在Web安全的应用
查看>>
量子计算会成为下一次革命的新机会吗?
查看>>
getValueFromEvent和shouldUpdate
查看>>
2019/07/18 kvm虚拟化(04)
查看>>
2019/07/24 git server(05)
查看>>
2019/07/24 搜索引擎及ES概述(01)
查看>>
2019/07/29 Linux容器和lxc(01)
查看>>