什麼是根本原因分析 (RCA)?

當您測試主要的新版本時,您有時會驚訝於生產環境中出現的新錯誤。為什麼? 什麼地方出問題了呢? 測試環境並不總是像您希望的那樣接近生產環境。並非所有對環境進行的基礎設施變更都會得到記錄,從而導致兩個環境之間的差異逐漸擴大。

對缺陷進行疑難排解非常耗時。因此,學習更快地進行疑難排解是您作為軟體開發人員可以做出的最佳投資之一。

根本原因分析 (RCA) 是一種可用於疑難排解問題的特定技術。使用此技術,您可以使用一組特定的步驟來分析手頭的問題,進而確定問題的主要原因。RCA 基於這樣一個原則,即只關注問題的症狀而忽略其根源毫無用處。

根本原因分析有什麼好處?

根本原因分析 (RCA) 是一種可用於疑難排解問題的特定技術。使用此技術,您可以使用一組特定的步驟來分析手頭的問題,進而確定問題的主要原因。RCA 基於這樣一個原則,即只關注問題的症狀而忽略其根源毫無用處。

如何開始進行根本原因分析?

解釋問題

使用橡皮鴨方法 (橡皮鴨偵錯法) 簡單地解釋您的問題。透過解釋問題,您會經歷想法整理的過程。熱門問答網站 Stack Overflow 的聯合創始人 Jeff Atwood 談到,有好多次團體開發人員告訴他,要向網站寫一個新問題,在此過程中,需要自己找出答案,但從未真正提交過問題。

嘗試以下方法來協助您簡單地闡明問題:

  1. 撰寫一個 Stack Overflow 問題 – 即便您從未提交過。
  2. 提交詳細的偵錯報告。
  3. 向同事解釋該問題。

收集日誌資料 (並高效進行搜尋)

接下來,收集有關該問題的更多資料並從中擷取洞見。此時日誌記錄和監控可發揮作用 – 當機日誌、應用程式和伺服器日誌等。您必須收集問題發生的證據,但如果可能,還要找出問題發生的時間和頻率。

您需要從所有這些資料中快速找到特定的資料點。工具可以協助您搜尋和分析您收集的日誌資料,並將其轉化為洞見,從而更快地診斷和解決問題。

運用五個為什麼技術

接下來,確定因果因素,即目前問題的直接原因。不要在確定一個因果因素後就立馬停止。您必須使用五個為什麼技術進一步探尋。重複問「為什麼」直到您找到問題的根源。例如,您的網站顯示錯誤 500。

  1. 為什麼? 因為 Web 架構的路由元件出現故障。
  2. 為什麼? 因為它需要另一個元件,該元件本身出現故障。
  3. 為什麼? 因為 Web 架構的這個元件需要 intl 擴展,但這不起作用。
  4. 為什麼? 因為它在伺服器軟體更新後被意外停用。

當然,有時您不需要那麼多個步驟即可找到根本問題。有時您可能會需要進行更多次的詢問。

獲得第二雙眼睛

就像審查程式碼一樣,讓另一個不帶偏見的人來檢查您的程式碼。隨著時間的推移,對審查的預期將協助您完善您的程序。您甚至能夠與別人結對對問題進行疑難排解。

AWS 如何支援您的根本原因分析?

用於根本原因分析的主要 AWS 產品之一的作用是協助您取得和分析日誌資料。為此,我們推薦 Amazon OpenSearch Service。 Amazon OpenSearch Service 可讓您輕鬆執行互動式日誌分析、即時應用程式監控、網站搜尋以及其他動作。 OpenSearch 是一款源自 Elasticsearch 的開放原始碼、分散式搜尋和分析套件。 Amazon OpenSearch Service 為應用程式監控、日誌分析、可觀察性和網站搜尋等使用案例安全解除鎖定業務和營運資料的即時搜尋、監控和分析。

立即建立帳戶,開始使用 AWS 上的根本原因分析。

AWS 上的後續步驟

查看其他產品相關資源
檢視雲端中分析服務的免費優惠  
註冊免費帳戶

立即存取 AWS 免費方案。

註冊 
開始在主控台進行建置

開始在 AWS 管理主控台進行建置。

登入