飞天发布时刻:2024年 Forrester 公有云平台Wave™评估报告解读 了解详情
写点什么

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

  • 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:07745

评论

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

架构师训练营 - 第四周

石子头

第二周作业



架构师训练营 - 第一周

石子头

第7周作业

Binary

架构师训练营 - 第二周

石子头

第12周作业总结

hunk

架构师训练营第2期

架构师训练营 - 第七周

石子头

Week 12 大数据应用

evildracula

学习 架构

Spring Boot返回Json数据及数据封装

武哥聊编程

Java springboot SpringBoot 2 28天写作

第12周作业

hunk

架构师训练营第2期

架构师训练营大作业一

一马行千里

架构师训练营第 1 期

大作业二

solike

架构师训练营 - 大作业一

石子头

Hadoop安装配置

小马哥

大数据 hadoop 28天写作

如何让多个线程按顺序执行?

Java鱼仔

Java 多线程 高并发

架构师训练营 - 大作业(二)

树森

生产环境全链路压测建设历程 26:FAQ之 压测结束阶段的相关问题

数列科技杨德华

28天写作

架构师训练营 - 第五周

石子头

谬误词典:因果谬误

lidaobing

28天写作 谬误词典

当目的地无法抵达「幻想短篇 3/28」

道伟

28天写作

Week 12 作业

evildracula

Week2

oooh-la

第7周学习总结

Binary

架构师训练营第 2 期 第12周命题作业

月下独酌

架构师训练营第2期

架构7周

FreeOcean

现代浏览器原理

roadup

大前端 浏览器 基础知识

28天瞎写的第二百一四天:考前临时抱佛脚

树上

28天写作

架构师训练营 - 第六周

石子头

心之所向,身之所往

张攀钦

程序人生

大作业一

golangboy

架构师训练营第 1 期

第七周作业&总结

胡益

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