線上故障處理原則

線上故障處理原則

墨菲定律

  • 任何事情都沒有表面看起來那麼簡單
  • 全部事情的發展都會比你預計的時間長
  • 會出錯的事情總會出錯
  • 若是擔憂某個事情發生,那麼它更有可能發生

墨菲定律暗示咱們,若是擔憂某種狀況會發生,那麼它更有可能發生,長此以往就必定會發生。這警示咱們,在互聯網公司,對生成環境發生的任何怪異現象和問題都不要輕視,對其背後的緣由必定要調查清楚。一樣,海恩法則也強調任何嚴重的事故背後都是不少次小問題的積累,當到必定量級後會致使質變,嚴重的問題就會浮出水面。
那麼,咱們須要對線上服務產生任何現象,哪怕是小問題,都要刨根問底,對任何現象都要遵循下面問題html

  • 爲何會發生 ?
  • 發生了該怎麼應對 ?
  • 怎麼恢復 ?
  • 怎麼避免 ?

應急目標

在生成環境發生故障時快速恢復服務,避免或減小故障帶來的損失,避免或減小故障對客戶的影響數據庫

應急原則

  • 應第一時間恢復系統,而不是完全解決呢問題,快速止損
  • 明顯資金損失時,要第時間升級,快速止損
  • 指標要圍繞目標,快速啓動應急過程與止損方案
  • 當前負責人不能短期內解決問題,則必須進行升級處理
  • 處理過程在不影響用戶體驗的前提下,保留現場

應急方法與流程

線上應急通常分爲 6 個階段緩存

  1. 發現問題
  2. 定位問題
  3. 解決問題
  4. 回顧問題
  5. 改進措施

過程當中要記住,應急只有一個整體目標:儘快恢復,消除影響。無論處於哪一個階段,首先想到的必須是恢復問題,恢復問題不必定能定位問題,也不必定有完美的解決方案,可能經過經驗或者開關等。但這能夠達到快速恢復的目的,而後保留現場,以及定位問題,解決問題和覆盤網絡

發現問題

一般咱們經過系統層面、應用層面和中間件層面監控來發現問題架構

  • 系統層面監控包括
    1. 系統的 CPU 使用率
    2. Load average
    3. Memory
    4. I/O (網絡與磁盤)
    5. SWAP 使用狀況
    6. 線程數
    7. File Description 文件描述符等
  • 應用層面監控包括
    1. 接口的響應時間
    2. QPS
    3. 調用頻次
    4. 接口成功率
    5. 接口波動率等
  • 中間件層面監控包括數據庫、緩存、消息隊列。
    1. 對數據庫的負載、慢查詢、鏈接數等監控
    2. 對緩存的鏈接數、佔用內存、吞吐量、響應時間等監控
    3. 消息隊列的響應時間、吞吐量、負載、堆積狀況等監控

定位問題

分析定位過程當中先考慮系統最近發生的變化,須要考慮以下幾方面分佈式

  • 故障系統最近是否上過線?
  • 依賴的基礎平臺與資源是否升級過?
  • 依賴的系統是否上過線?
  • 運營是否在系統內作過運營變動?
  • 網絡是否有波動?
  • 最近的業務量是否漲了?
  • 運營方是否有促銷活動?

解決問題

解決問題要以定位問題爲基礎,必須清晰定位問題產生的根本緣由,在提出解決問題的有效方案,沒有明確緣由以前,不用使用各類方法來嘗試修復問題,可能尚未解決這個問題又引入了下個問題,想一想剛剛提到的墨菲定律ide

回顧問題

解決問題後,需應急團隊與相關方回顧事故產生的緣由、應急過程的合理性、提出整改措施,主要聚焦在如下幾個問題:線程

  • 相似的問題還有哪些沒有發生?
  • 作了哪些事情,事故就不會再發生?
  • 作了哪些事情,及時發生故障,也不會產生影響?

改進措施

根據回顧問題提出的改進措施,以正式的項目管理方式進行統一管理,採用 SMART 原則來跟進設計

參考

  • 分佈式服務架構原理、設計與實戰
相關文章
相關標籤/搜索