许式伟的架构课
许式伟
七牛云 CEO
84945 人已学习
新⼈⾸单¥68
登录后,你可以任选4讲全文学习
课程目录
已完结/共 89 讲
许式伟的架构课
15
15
1.0x
00:00/00:00
登录|注册

52 | 故障排查与根因分析

下期主题预告
日志系统的关键作用
故障排查过程定义
避免逻辑推理过程中的错误
故障排查的手段
使用成熟的 RPC 框架
增加系统的可观察性
时序数据的日志系统
日志的关键作用
假设-验证排除过程
观察系统状态
故障排查过程定义
SRE 工作的价值
例行的排查过程
通用的故障恢复手段
正确解决问题的逻辑
结语
现实的实操建议
故障排查的方法论
写在故障排查之前
故障排查与根因分析

该思维导图由 AI 生成,仅供参考

你好,我是七牛云许式伟。

写在故障排查之前

一旦 SRE 发现了我们线上业务出现故障,要如何解决呢?
正确解决问题的逻辑不是当场把问题修复好,而是用最快的方式让问题得以缓解或消失。考核 SRE 的核心指标中,通常会有季度故障率或年故障率指标。一次磨蹭的线上故障恢复,可能直接导致团队的年终奖取消。
及时故障恢复的手段应该怎么样,首先要看故障原因的初判。如果是在软硬件环境升级中发现的故障,通常的做法是版本回滚。如果是因为用户请求导致负载过高,则考虑扩容。如果扩容不能让问题消失,则考虑服务降级,关闭一些不重要的功能以降低负载,或者主动抛弃一定比例的请求。如果是软硬件环境本身故障导致的业务故障,则通常是进行流量切换,把用户流量导向其他没有问题的任务实例。
解决了故障,我们就要开始定位引发故障的根本原因。
需要理解的一点是,定位故障原因的细节必然是和具体业务服务息息相关。但是有效地应对紧急问题,及时恢复故障的方法论,对每个业务团队来说却往往都是完全通用的。
另外,并不一定要线上出现了故障才需要去排查原因。
我们做事不能这么 “故障驱动”,要居安思危,主动出击。一个 SRE 例行的工作应该包含服务入口的指标检查,一旦发现存在非预期的指标波动,虽然有可能还没有触发警告线水位,就应该去排查问题。这就如同医生需要对病人定期进行诊断一样,这样的工作不一定要病人真生病了才去进行。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

SRE工作中的故障排查与根因分析是至关重要的环节,需要快速缓解问题并找出根本原因。文章强调了增加系统的可观察性、使用成熟的RPC框架以及建立系统化的故障排查手段的重要性。故障排查过程中,假设-验证排除的方法论至关重要,而对业务系统的深入理解和背景知识也是必不可少的。此外,日志系统在故障排查中扮演着关键角色,时序数据的日志系统能够提供强大的查询支持。总的来说,SRE工作需要综合运维和开发技能,对系统专家具有影响力,而当前的SRE正处在历史变革的浪潮之中,服务治理的迭代也在不断推进。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《许式伟的架构课》
新⼈⾸单¥68
立即购买
登录 后留言

全部留言(12)

  • 最新
  • 精选
  • 阿卡牛
    做读盘和存盘工作时,这些好处就已经想明白了?

    作者回复: 逐步明白

    2019-11-08
    4
  • Aaron Cheung
    如果你不碰线上环境,你就也无法成为最理解系统的专家。SRE 工作是最有机会成为专家的,它和架构师一样,需要整体理解业务架构,并且通过线上环境的理解,去反向影响业务架构,以提高系统的稳定性。 深度感受到了工作的价值😂
    2019-10-29
    13
  • 刘匿名
    想很好的排查故障,就要有完善的监控,和对系统各个环节工作的较深的理解。 如果对系统比较熟悉,监控指标也很全面,绝大部分时候看到异常的指标就可以了解原因了。 所以完善监控体系真的非常重要
    2021-01-18
    2
  • 小炭
    结合《SRE实战手册》课程看的话更有感觉。
    2020-11-08
    2
  • ifelse
    学习打卡
    2023-09-24归属地:浙江
  • FOCUS
    在理想情况下,监控系统完整记录了整个系统的监控指标。 ( - 如何设计系统的监控指标呢? - 可以谈谈这个监控指标的设计?)
    2022-01-05
  • FOCUS
    对系统内部运行的了解往往限制了 SRE 处理系统问题的有效性,对系统设计方式和构建原理的知识是不可或缺的。(这句话的后一半意思是,高效的故障排查需要有系统设计方式和构建原理的知识?)
    2022-01-05
  • 程序员Artist
    日志和监控虽然原始,确常用。“高科技”手段应该是自动检索出故障报告,这是第一步;第二步,自动修复。目前,好像没有这方面的开源框架出来,感觉有点搞头。
    2021-11-12
  • 不温暖啊不纯良
    生产环境我们首先要做的是保证服务的可靠性,其次才是排查故障。 生产环境故障排查。 第1,系统要有完整的监控功能和日志功能,能够保证SUV工程师提前发现问题,解决问题,而不是故障驱动的去解决问题。 第2,系统的可靠性测试,可以先假设问题,然后验证,将问题预解决,关于这一点,我总结出的大白话就是作为工程师,不要一天天闲着,要给自己的系统找点事儿干,像黑客一样去攻击系统,然后向守卫一样去维护系统,就是你要想方设法让这个系统出故障,然后你才能掌握这些能够导致系统出故障的知识,从而你就能够有解决这些故障的能力。 老师这课不仅传授知识,还让我明白了一个工程师应该怎么利用自己的工作环境来让自己更好的发展。
    2021-06-07
    1
  • 张浩_house
    如何有效的记录日志,以及requestid的链路追踪
    2020-09-12
收起评论
显示
设置
留言
12
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部