Home | 簡體中文 | 繁體中文 | 雜文 | 知乎專欄 | Github | OSChina 博客 | 雲社區 | 雲棲社區 | Facebook | Linkedin | 視頻教程 | 打賞(Donations) | About
知乎專欄多維度架構 | 微信號 netkiller-ebook | QQ群:128659835 請註明“讀者”

12.4. 因果圖在運維工作中的應用

12.4.1. 故障樹分析(Fault Tree Analysis,FTA)

12.4.2. 什麼是因果圖

魚骨圖,又名因果圖,是一種發現問題“根本原因”的分析方法,我們將影響問題的因素與特性,按相互關聯性整理而成的層次分明、條理清楚,並標出重要因素的圖形就叫特性要因圖、特性原因圖。因其形狀如魚骨,所以又叫魚骨圖(以下稱魚骨圖),它是一種透過現象看本質的分析方法。魚骨圖由日本管理大師石川馨先生所發明,故又名石川圖。魚骨圖是一種發現問題“根本原因”的方法,它也可以稱之為“Ishikawa”或者“因果圖”。其特點是簡捷實用,深入直觀。它看上去有些像魚骨,問題或缺陷(即後果)標在“魚頭”外。在魚骨上長出魚刺,上面按出現機會多寡列出產生問題的可能原因,有助于說明各個原因之間是如何相互影響的。

12.4.3. 為什麼使用因果圖

在運維工作中,我們經常使用 過程中“故障樹分析”,它主要用於出現故障時找到問題的源頭。而因果圖則是保證7*24運維有哪些影響因素。我認為將“故障樹分析”與“因果圖”互補使用更能解決運維中遇到的各種問題。

“因果圖”能未雨綢繆,“故障樹分析”可以亡羊補牢。

12.4.4. 何時使用因果圖

我認為任何環節都能使用因果圖幫我們我們改善IT運維工作。

12.4.5. 何處使用因果圖

例如項目的部署先,部署中,部署後等等每個環節。部署前拿出因果圖由為重要。

12.4.6. 誰來負責製作因果圖

問題總是受到一些因素的影響,我們通過頭腦風暴法找出這些因素,並將它們與影響因素的特性值,整理,分類,層次化。

[注意]注意

我不喜歡開茶話會(中國式會議),參與人員應該每個人在會議前找出問題因素,會議中拿出問題的因素提交給會議主持者,會議目的是將每個人尋找出的影響問題的因素整理成為魚骨圖,而不是在會議上討論找問題因素。

12.4.7. 怎樣使用因果圖

下面我們提供一個魚骨圖分析案例

上圖我們看到保障系統7*24小時運行有哪些因素印象,網站分為幾個部分組成

網站

  1. www.exampel.com 網站入口,主要是靜態內容,或者已經將動態靜態化。

  2. img.exampel.com 圖片伺服器

  3. acc.example.com, api.example.com 動態伺服器

  4. cch.exampel.com 緩存伺服器, db.example.com 資料庫伺服器

  5. mq.example.com 消息伺服器

我通常給每個伺服器指定一個主機名,有些事DNS解析的,有些事hosts檔案設置例如 cch.example.com, db.example.com 不需要DNS解析。

現在我們分別解釋每個節點與問題的影響因素,這裡僅僅給出的一個簡單的例子,也只能讓你對因果圖有個入門瞭解。

12.4.7.1. www.example.com, img.example.com

影響的因素主要是web伺服器,IP地址,80連接埠,防火牆設置,DNS 解析等等

12.4.7.2. acc.example.com, api.example.com

除了web伺服器,IP地址,80連接埠,防火牆設置,DNS 解析。他的影響因素包括

PHP版本,PHP擴展,PHP配置檔案

12.4.7.3. cch.exampel.com, mq.exampe.com, db.example.com

影響的因素是防火牆,連接埠,資料庫同步等等...