前言
該文是《Google運維解密》系列的關(guān)于問題排查的一篇分享。該文章主要是和大家聊了日常it運維問題排查時候的一些原則與心得。今天我們來聊聊“問題排查”這個話題,來說說“問題排查”那點事。

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