Google的it運維人員如何進(jìn)行問題排查?

發(fā)布日期:2018/01/12 08:00:00

前言

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

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運維也不再是很難的事。

同創(chuàng)雙子為企業(yè)保駕護(hù)航

專注數(shù)字化方案建設(shè),推動智慧企業(yè)生態(tài)圈的升級發(fā)展

会泽县| 高淳县| 岳阳县| 张家港市| 合作市| 依安县| 汝城县| 鹿泉市| 江西省| 松阳县| 建瓯市| 大渡口区| 南昌市| 双牌县| 玉屏| 东宁县| 咸阳市| 漳平市| 葫芦岛市| 濉溪县| 长阳| 五河县| 平塘县| 三明市| 青河县| 余庆县| 武威市| 田东县| 涟源市| 淮阳县| 怀来县| 阳谷县| 清流县| 温州市| 治县。| 河津市| 汕尾市| 庐江县| 甘泉县| 卢氏县| 肃宁县|