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

責(zé)任編輯:售電衡衡
- 相關(guān)閱讀
- 碳交易
- 節(jié)能環(huán)保
- 電力法律
- 電力金融
- 綠色電力證書
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè)
-
碳中和戰(zhàn)略|趙英民副部長致辭全文
2020-10-19碳中和,碳排放,趙英民 -
深度報告 | 基于分類監(jiān)管與當量協(xié)同的碳市場框架設(shè)計方案
2020-07-21碳市場,碳排放,碳交易 -
碳市場讓重慶能源轉(zhuǎn)型與經(jīng)濟發(fā)展并進
2020-07-21碳市場,碳排放,重慶
-
兩部門:推廣不停電作業(yè)技術(shù) 減少停電時間和停電次數(shù)
2020-09-28獲得電力,供電可靠性,供電企業(yè) -
國家發(fā)改委、國家能源局:推廣不停電作業(yè)技術(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)對于數(shù)據(jù)中心有什么影響?這個影響是好是壞呢!