Google 的運(yùn)維人員如何進(jìn)行問題排查?
前言
今天我們來聊聊“問題排查”這個(gè)話題,本人到目前為止還在參與一線運(yùn)維的工作,遇到過很多“稀奇古怪”的線上故障和問題,結(jié)合SRE中給出的一些方法,來說說“問題排查”那點(diǎn)事。
排查問題不是玄學(xué)
排查出線上問題,并找到根本原因加以解決,是一件很有成就感的事情,曾經(jīng)有人問過我,“你是怎么想到問題出現(xiàn)在xxx的?又是怎么確認(rèn)根本原因是xxx的?”,我只能淡淡的說:“靠經(jīng)驗(yàn)”,然后感覺這個(gè)逼裝的自己還算滿意。
其實(shí)這個(gè)“靠經(jīng)驗(yàn)”說的很模糊,一直以來,大家都覺得排查問題要靠經(jīng)驗(yàn),但是又說不出具體通過啥經(jīng)驗(yàn)排查出了問題,最后讓排查問題逐漸變成了一門玄學(xué)。
排查問題猶如破案
排查線上問題,就和偵探破案一樣,就是一個(gè)不停分析線索,推理的過程,在你準(zhǔn)備破案之前,先要明確以下兩點(diǎn)。
系統(tǒng)異常是正常的,正常是特例
時(shí)至今日,計(jì)算機(jī)系統(tǒng)已經(jīng)變得異常復(fù)雜,一次用戶請(qǐng)求可能要經(jīng)過發(fā)送請(qǐng)求,DNS解析,運(yùn)營商網(wǎng)絡(luò)和IP轉(zhuǎn)換,負(fù)載均衡,服務(wù)器硬件,虛擬機(jī)/容器,視業(yè)務(wù)邏輯的復(fù)雜程度,可能還要調(diào)用其它組件,存儲(chǔ),數(shù)據(jù)庫,緩存等。每個(gè)環(huán)節(jié)都可能出現(xiàn)問題,有的組件又是分布式的,大大增加的排查問題的難度。
所以出現(xiàn)問題后,不要著急,保持好心態(tài),要認(rèn)為“系統(tǒng)異常是正常的,正常是特例”。
飛行員首要任務(wù)是保持飛機(jī)飛行
在初級(jí)飛行員的課程中撿到,在緊急情況中,飛行員的首要任務(wù)是保持飛機(jī)飛行,相比保證乘客與飛機(jī)安全著陸,故障定位和排除是次要目標(biāo)。—SRE
所以,恢復(fù)線上系統(tǒng)是首要任務(wù),而不是找到它發(fā)生的原因。
明確案情
先評(píng)估出這個(gè)問題的影響范圍,是全網(wǎng)用戶不可用,還是某些用戶,是某條業(yè)務(wù)線出現(xiàn)問題,還是很多業(yè)務(wù)線都出現(xiàn)問題,評(píng)估出案情的大小,是普通的民事案件,還是刑事案件。
真相只有一個(gè)
計(jì)算機(jī)是一門科學(xué),而且計(jì)算機(jī)是由0|1組成的世界,在這個(gè)世界里只有“是或否”,沒有中間地帶,所以在計(jì)算機(jī)世界“凡事都有根本原因”,“沒有偶然發(fā)生,一切都是必然”。
所以,你要堅(jiān)信真相只有一個(gè)。
理清線索
理清目前得到的線索和信息,比如監(jiān)控上有網(wǎng)絡(luò)報(bào)警,有用戶反饋無法訪問,有開發(fā)人員反饋服務(wù)器有問題,不要漏掉看似無關(guān)緊要的線索,把這些線索先整理下來,后面一并分析。
擴(kuò)大信息量
盡可能擴(kuò)大你接受到的信息量,比如問詢一下開發(fā)人員今天有沒有做線上改動(dòng),網(wǎng)絡(luò)組有無重大調(diào)整。獲取到有價(jià)值的信息,對(duì)于排查問題至關(guān)重要。
查看監(jiān)控,細(xì)看某個(gè)監(jiān)控項(xiàng)的變化,追蹤日志和調(diào)試信息都是擴(kuò)大信息量的手段。
分析證詞
分析用戶反饋的現(xiàn)象,數(shù)據(jù)是可信的,有時(shí)候人說的是不可信的,舉個(gè)例子,之前有開發(fā)反饋我們虛擬機(jī)有問題,有些虛擬機(jī)接口返回異常,有些正常,他就讓我們幫查查虛擬機(jī)的問題,但是最后是代碼調(diào)用一處動(dòng)態(tài)配置造成的。
很多反饋的信息描述,是經(jīng)過描述者過濾加工過的信息,他的排查和分析有可能把你“帶歪了”,先要用懷疑的態(tài)度,分析每個(gè)人的證詞。
當(dāng)你聽到蹄子聲響時(shí),應(yīng)該先想到馬,而不是斑馬
排查問題不要先入為主,有時(shí)候你覺得極其簡單,看似非常不可能發(fā)生的事情,可能就是原因,不要輕易的排除掉某項(xiàng)原因,比如“宇宙射線導(dǎo)致某個(gè)電路信號(hào)出錯(cuò)”。
我們之前有個(gè)mysql連接異常的問題,查了很久,做了很多調(diào)優(yōu)都沒有解決,最后發(fā)現(xiàn)是網(wǎng)卡跑滿了。
從大到小,從上到下
排查步驟,先“從大到小”,先看比如運(yùn)營商網(wǎng)絡(luò),機(jī)房狀態(tài)等比較宏觀的地方是否有問題,逐一排除,逐步縮小問題范圍。“從上到下”,先從現(xiàn)象發(fā)生的頂端調(diào)用鏈逐一排查,逐步向下深入。
SRE給出的一些方法
SRE給出了一些方法可以借鑒:
-
問題排查的幾個(gè)步驟:定位,檢查,診斷,測試/修復(fù),治愈。
-
什么,哪里和為什么,找出系統(tǒng)正在執(zhí)行“什么”,詢問系統(tǒng)“為什么”執(zhí)行這些操作,以及系統(tǒng)的資源都被用在了“哪里”可以幫助你了解系統(tǒng)為什么出錯(cuò)。
-
確定“最后一個(gè)修改”發(fā)生的時(shí)間。
-
提供豐富的診斷和監(jiān)控工具。

責(zé)任編輯:售電衡衡
- 相關(guān)閱讀
- 碳交易
- 節(jié)能環(huán)保
- 電力法律
- 電力金融
- 綠色電力證書
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時(shí)間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時(shí)間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè)
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報(bào)告 | 基于分類監(jiān)管與當(dāng)量協(xié)同的碳市場框架設(shè)計(jì)方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉(zhuǎn)型與經(jīng)濟(jì)發(fā)展并進(jìn)
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時(shí)間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時(shí)間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
2020年二季度福建省統(tǒng)調(diào)燃煤電廠節(jié)能減排信息披露
2020-07-21火電環(huán)保,燃煤電廠,超低排放
-
四川“專線供電”身陷違法困境
2019-12-16專線供電 -
我國能源替代規(guī)范法律問題研究(上)
2019-10-31能源替代規(guī)范法律 -
區(qū)域鏈結(jié)構(gòu)對(duì)于數(shù)據(jù)中心有什么影響?這個(gè)影響是好是壞呢!