iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
DevOps

Dev's Ops 啟程系列 第 7

[Day 7] SRE - 故障排除小技巧

故障排除小技巧

通常故障排除的流程如下圖
https://ithelp.ithome.com.tw/upload/images/20210915/20115289JC1ZWwMdrU.png

常見的陷阱

  • 誤解故障的現象,扭曲現象的含義,只會浪費時間追問題。
  • 簡單來說就是沒有按照SOP流程執行,漏掉某些步驟以至於無法安全且有效的測試出假設。
  • 過早將問題歸咎於發生機率非常低的極端因素,ex: 資料有問題,就歸咎於硬碟可能有灰塵。
  • 相關性」不等於「因果關係」。/images/emoticon/emoticon67.gif
    例如在叢集中的有兩台Node意外重啟且重啟前cpu比起其他node還要偏高,可能由同一個原因造成的,例如電源供應不穩,但cpu偏高的現象並不是造成node重啟的原因。

在監控越來越多,系統複雜度越來越高的情況下,發生A現象與B現象幾乎同時發生的情況也可能越來越多,最終只是一種「巧合」,卻常常讓人們走進這種陷阱。
最近最有名的例子就是 大谷翔平 vs 長榮股票


縮小範圍

問題分解 -> 資料處理

從系統的某一端開始逐步查找問題直到根源。

二分法 -> 大型系統

將系統分兩部分,確認問題在哪部分,依此類推。


問題分類

當你遇到收到一份問題報告時,應該先把問題的範圍做釐清,通常我們會分為

以客人角度

  • 不影響客人 -> 不急著線上修正
  • 影響部分客人 -> on-call人員上線 -> 先初步debug -> 與主管討論是否直接修正
  • 影響全部客人 -> 全員上線

以公司角度

  • 不影響公司 -> on-call人員上線 -> 先初步debug -> 與主管討論是否直接修正
  • 影響公司 -> 全員上線 -> 與時間賽跑

當然這個分類你可以依照不同團隊,不同性質去做分類。


檢查系統異動時間

找出大約第一次出現問題的時間,如果有做到gitops的話,可以比對git log,進行比對,是否有存在相關性,並把異動範圍以及內容作為可能性之一。


今日小結

今天為大家分享故障排除的小技巧,依照流程一步一步來不要緊張,避開常見的陷阱,相信你會在面對問題時,更系統化的解決問題。/images/emoticon/emoticon12.gif


上一篇
[Day 6] SRE - 起身對抗活在警報中的惡魔
下一篇
[Day 8] SRE - 火炎焱燚之保衛戰
系列文
Dev's Ops 啟程30

尚未有邦友留言

立即登入留言