故障定位能力建设

作者:焦振清
时间:2017-01-12


对于线上服务故障,作为运维工程师来讲,应对措施建议按照如下顺序进行:

  1. 预防:控制故障的影响范围,从全局降为局部,如地域,功能维度
  2. 止损:通过执行预先定制的预案,尝试快速恢复服务
  3. 定位:通过流程化的手段,快速寻找问题的原因

从定位角度讲,我们需要建立以下能力,从而提升定位的效率:

  1. 所有主机的存活状态,故障主机的特征分析
  2. 所有服务的存活状态,故障服务/实例的特征分析
  3. 所有服务的异常日志以及异常日志数量的增长趋势,特征
  4. 所有服务的版本/配置/数据等的一致性
  5. 所有变更的收集,包括但不限于部署,配置,数据和数据库,机器环境,第三方依赖,基础设施等
  6. 所有报警的特征
  7. 所有功能/模块的可用性,包括第三方依赖,尤其是CDN是否有异常
  8. 所有关键指标,如服务整体的容量,流量,延时,错误,订单,收入等
  9. 所有数据流通路上的异常点,慢请求
  10. 能够在集群上执行命令并快速获取结果的执行平台
  11. 基于各个地域访问网站的可用性监控,能够进行故障区域的特诊分析
  12. 所有机器的运行时间的分布(uptime),以及短时间内被重启过的主机的特诊分析
  13. 标准化的监控方式,如JAVA应该统一监控通用的监控指标,从而便于横向对比
  14. 网络的连通性,包括内网的连通性,内网跨机房间的连通性和内网访问外网的连通性
  15. 注册中心如ZK/ETCD,相关的模块的所有实例是否注册正常,是否有抖动

特征的说明:

  1. 机器维度:是否是同一个机房,同一个网段,同一个硬件类型
  2. 服务维度:是否是同一个服务,同一个服务,同一种语言
  3. 软件维度:是否是同一个内核版本,操作系统版本
  4. 用户维度:是否是同一个地域,运营商,硬件,APP版本等

你可能感兴趣的:(可用性,运维理论)