AICon上海|与字节、阿里、腾讯等企业共同探索Agent 时代的落地应用 了解详情
写点什么

系统排障,有时就像一部名侦探柯南推理剧

  • 2020-04-17
  • 本文字数:1725 字

    阅读完需:约 6 分钟

系统排障,有时就像一部名侦探柯南推理剧

最近天气越来越冷,每天夜跑的地点也被迫进入了室内,与室外跑步相比,我更喜欢在室内跑步机上跑步,其中最重要的原因是能在跑步的同时利用一部连续剧缓解跑步中所产生的枯燥感。


每次跑步看一集《名侦探柯南》,成为了我每天非常期待的轻松时刻。


虽然我并不是侦探小说迷,但推理这玩意对我有一种吸引力,让我感觉这玩意除了靠经验之外,还要那么些套路。


那么,柯南破案的套路有哪些? 其实,只是一个标准流程罢了。


看过柯南的人都知道,柯南破案奇是说有很多套路的,每一个案件几乎都是按照这个流程走下来的,不信?先来看看一张流程图:



1、发生案情(开场的惊声尖叫)


尖叫才是案件的开端,柯南遇到的很多案件中,都是目击者的尖叫吸引了柯南的注意。


2、到达现场(柯南总是第一个冲到案发现场)


尖叫完以后,不管离现场有多远,柯南和毛利小五郎总会第一时间到达。


3、发现线索 / 怀疑对象(犯人总能露出蛛丝马迹)


很多凶手会作为自己不在场证明的掩饰,然而柯南总能察觉到这些安排的蛛丝马迹。


4、快速纠偏(似凶悍的人往往不是凶手)


很多案件中会出现一些长相很凶悍、很丑陋,或者脾气暴躁的嫌疑人,但往往大家都还在怀疑他们的时候,他们就被真正的凶手提前 KO 了,最后事实证明,他们都是无辜的。


5、关键提示(柯南陷入困惑时会出现关键提示)


当遇到困惑的线索时,柯南总是会在现场周围发现某些提示,就算是不相关的一件小事都会开启柯南无限大的脑洞,之后顺利的整理好案件的案发过程等重要元素。


6、寻找证据 / 犯人认罪(凶手被指认后从来都不认罪)


每次柯南说完整个案件过程与起因后,直接指认凶手,每次凶手都会狡辩,而且会问 “这都是你的推理啊,你有证据吗?” 然后,柯南把早准备好的证据,放到凶手面前,他才被迫认罪。


一场推理,一场精彩的推理,源自于侦探观察力的核心三要素:


有明确的观察目的与观察意识 —— 亦即知道要对什么进行观察及应从哪些方面去观察一个人;


有较丰富的社会阅历并掌握相关的背景知识 —— 只有对要观察的对象领域有一定了解,才有可能从旁人看起来平常的地方看出不平常之处;


平时多实践 —— 养成随时随地对身边人员的体貌特征、身份背景与当前意图进行观察和判断的习惯;


在系统排障时,如何上演一场精彩的推理剧呢?这似乎是每个技术团队的谜题。


其实,系统排障的过程往往比案件推理更为艰辛,而且往往最终没有真相。


我们先按照相同的流程走一遍看看:



1、发生故障


如果监控告警不完善,“尖叫” 通常来自于业务方,对于技术小伙伴来说,这种 “尖叫” 比看到尸体还让人心惊胆战。


2、获取信息


尖叫完以后,不管是远程还是在机房,获取应用日志、Zabbix 等信息是必然的。


3、排查故障


对于快速发展的系统而言,日志打的 “脏、乱、差” 是必然的,所以不用 “凶手” 掩饰,能直接在日志中看出问题的,一般都不需要排障,直接消障就得了。


4、经验推测


无论你是老司机,还是新手,如果无法直接消除故障,一般会利用经验去推断,但这种推断都比较粗暴,没有任何数据给与支持。


5、推测疑似点 / 证明推测


在排障的过程中,最尴尬的场面应该是这种故障现象曾经在测试环节早已经历过九九八十一难的考验,可当下的你却无法拿出丝毫有效证据为他开脱罪责。


6、故障排除


很多时候,虽然故障已被化解,但却无法给出真相,因为化解的方式可能是一次重启,可能是更换了服务器,甚至有可能紧急发布了补丁。可真正的元凶,并未浮出水面。


如何提升系统排障的能力?


其实,对于许多业务快速发展的互联网企业来说,许多系统的故障想要快速排除基本是不太可能的。


在我看来,系统排障是种能力,就像侦探的观察力一样,可以通过适当的方法加以提升:


重视监控功能迭代 —— 知道要对什么进行监控,并将自动化监控功能与业务功能一样做到系统中去,而不是在意识上依赖运维人肉解决;


多交流,勤分享 —— 向其他企业学习关于故障或异常场景的经验,并将排障过程加以分享与操练;


平时多实践 —— 持续进行 “随机破坏性故障演练” 与 “产线性能测试”,大部分故障或异常场景,都能在凶手未到来之前进行暴露;


导致系统故障的原因,就像柯南常说的那句话 “真相永远只有一个!”。可是那个真相,等着你去挖掘与发现。


本文转载自头哥侃码公众号。


原文链接:https://mp.weixin.qq.com/s/fjEcBk2-n6s0wFr_ay_8lA


2020-04-17 15:07770

评论

发布
暂无评论
发现更多内容

混沌工程在建信金科的应用实践

TiDB 社区干货传送门

实践案例 故障排查/诊断 TUG 话题探讨

TiDB热点测试

TiDB 社区干货传送门

版本测评 性能测评

从单点到分布式的哲学启蒙

TiDB 社区干货传送门

数据库前沿趋势

黄东旭: 关于基础软件产品价值的思考

TiDB 社区干货传送门

DM 同步 modify column 语句到 TiDB 5.3 踩坑二:DDL 语句重放

TiDB 社区干货传送门

实践案例 故障排查/诊断

TiDB 5.4 单机快速安装初体验

TiDB 社区干货传送门

管理与运维 版本测评

TiEM初体验

TiDB 社区干货传送门

集群管理 管理与运维 6.x 实践

国产化浪潮下TiDB解决的痛点问题

TiDB 社区干货传送门

数据库架构设计

【征文大赛】TiDB 社区专栏第一届征文大赛,快来一次性集齐所有周边吧!

TiDB 社区干货传送门

TiDB 5.4 发版丨新功能解读

TiDB 社区干货传送门

TIKV、PD添加TLS总结

TiDB 社区干货传送门

实践案例

文盘Rust -- 生命周期问题引发的 static hashmap 锁

TiDB 社区干货传送门

开发语言

【备考指南】新版 PingCAP PCTP 认证考试

TiDB 社区干货传送门

Tidb为什么能做到国产第一

TiDB 社区干货传送门

性能测评 数据库架构设计 应用适配

【专栏平台上线】来自社区的一份感谢信,致谢 137 位 TiDB 社区技术布道师

TiDB 社区干货传送门

TiDB中快速恢复被Truncate 的表

TiDB 社区干货传送门

管理与运维

数据库调优之硬件

TiDB 社区干货传送门

性能调优

TiDB统计信息原理简介与实践

TiDB 社区干货传送门

管理与运维

tidb server的oom问题优化探索

TiDB 社区干货传送门

性能调优 故障排查/诊断

TPC-H 下 TiFlash 的扩展性测试报告 - v5.1.0

TiDB 社区干货传送门

版本测评 性能测评

TiDB源码系列之沉浸式编译TiDB

TiDB 社区干货传送门

TiDB 源码解读

DM 同步 modify column 语句到 TiDB 5.3 踩坑一:数据乱码

TiDB 社区干货传送门

实践案例 故障排查/诊断

Raft/Paxos类协议与分布式事务

TiDB 社区干货传送门

数据库架构设计

TiDB与众不同的优化器

TiDB 社区干货传送门

性能测评 应用适配

Raft-rs 最佳实践与使用

TiDB 社区干货传送门

TiKV 源码解读

raft-rs 示例程序源码解读

TiDB 社区干货传送门

TiKV 源码解读

生产环境TiDB集群混合部署实践

TiDB 社区干货传送门

安装 & 部署 数据库架构设计

TiSpark 2.4.1(Spark 2.4.5)到TiSpark 2.5.0(Spark 3.0.X/3.1.X)迁移实践

TiDB 社区干货传送门

实践案例

温故知新 | mydumper & dumpling 知识点汇总

TiDB 社区干货传送门

PointGet的一生

TiDB 社区干货传送门

开发语言 TiDB 底层架构 TiDB 源码解读 TiKV 源码解读 TiKV 底层架构

TiDB4PG 中 TiDB 版本升级至 v5.3.0

TiDB 社区干货传送门

新版本/特性发布 数据库架构设计

系统排障,有时就像一部名侦探柯南推理剧_语言 & 开发_头哥侃码_InfoQ精选文章