本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
儀表板的最佳做法
本文件主題是針對支援 Grafana 10.x 版的 Grafana 工作區所設計。
如需支援 Grafana 9.x 版的 Grafana 工作區,請參閱。在 Grafana 第 9 版中工作
如需支援 Grafana 8.x 版的 Grafana 工作區,請參閱。在 Grafana 第 8 版中工作
本節提供有關 Grafana 管理員和使用者如何建立和維護 Grafana 儀表板的最佳作法資訊。
有關您可以創建的不同類型儀表板的信息,請參閱 Grafana 儀表板:您可以在 Grafana Labs 網站上構建博客文章的所有不同類型的完整指南
注意
本節可協助您建立監視和儀表板維護策略。您最了解您的系統,並且應該使用本節來指導您的理解。最終,您有責任為您的系統創建最佳策略。
常見的觀察策略
如果您有許多需要監視的項目 (例如伺服器陣列),您需要一個策略來決定哪些重要性足以監視。此頁面說明選擇要監督之內容的幾種常用方法。
邏輯策略可讓您製作統一的儀表板,並更輕鬆地擴展您的可觀測性平台。
策略指引
-
USE 方法告訴你你的機器有多快樂,RED 方法告訴你你的用戶有多快樂。
-
有關問題原因的使用報告。
-
RED 會報告使用者體驗,並且更有可能報告問題的症狀。
-
監控兩者對於了解您的系統非常重要。最佳做法是警示症狀而非原因。通常,警示會在 RED 儀表板上設定。
使用方法
使用代表:
-
使用率 — 資源忙碌的時間百分比,例如節點 CPU 使用率。
-
飽和度 — 資源必須執行的工作量,通常是佇列長度或節點負載。
-
錯誤 — 錯誤事件的計數。
此方法最適合基礎結構中的硬體資源,例如 CPU、記憶體和網路裝置。有關更多信息,請參閱布倫丹·格雷格的博客文章使用方
紅色方法
紅色代表:
-
速率 — 每秒要求
-
錯誤 — 失敗的要求數目。
-
持續時間 — 這些請求所花費的時間量,延遲測量的分佈。
此方法最適用於服務,尤其是微服務環境。對於每個服務,請檢測代碼以公開每個組件的這些指標。RED 儀表板非常適合警示和 SLA。精心設計的 RED 儀表板是用戶體驗的代理。
有關更多信息,請參閱湯姆·威爾基(Tom Wilkie)的博客文章 RED 方法:如何檢測您的服務
四個黃金信號
根據 Google SRE 手冊
此方法類似於 RED 方法,但它包括飽和度。
-
延遲 — 處理請求所花費的時間。
-
流量 — 您的系統上放置了多少需求。
-
錯誤 — 失敗的請求率。
-
飽和度 — 如何「滿」你的系統是,
儀表板管理成熟模型
儀表板管理成熟度是指儀表板生態系統的精心設計和效率。我們建議您定期檢視您的儀表板設定,以評估您的所在位置以及如何改進。
從廣義上講,儀表板成熟度可以定義為低,中或高。
此主題的大部分內容都來自 KubeCon 2019 年針對睡眠不足的隨時通話專用的防愚蠢 Kubernetes 儀表
低 — 預設狀態
在這個階段,您沒有連貫的儀表板管理策略。幾乎每個人都從這裡開始
你怎麼知道你在這裡?
-
每個人都可以修改儀表板。
-
許多複製的儀表板,幾乎沒有儀表板重複使用。
-
永遠懸掛的一次性儀表板。
-
沒有版本控制(版本控制中的儀表板 JSON)。
-
大量瀏覽儀表板,搜索正確的儀表板。這意味著浪費了很多時間試圖找到所需的儀表板。
-
沒有任何警報將您引導到正確的儀表板。
中等 — 有條不紊的儀表板
在此階段,您將開始使用有條不紊的儀表板來管理儀表板的使用情況。您可能已經制定了一個策略,但是有些事情可以改進。
你怎麼知道你在這裡?
-
使用範本變數防止過度蔓延。例如,您不需要每個節點的單獨儀表板,您可以使用查詢變數。更棒的是,您也可以將資料來源設為範本變數,以便在不同叢集間重複使用相同的儀表板並監視後端。
如需想法Variables,請參閱中的範例清單。
-
根據可觀察性策略有條不紊的儀表板。
-
分層儀表板,向下鑽研到一個新的水平。
-
儀表板設計反映服務層次結構 例如,您可以將 RED 方法與每個服務一個資料列搭配使用。當您向下捲動儀表板時,列順序可反映資料流程。
-
按讚比較:當量值不同時分割服務儀表板。確保彙總指標不會淹沒重要資訊。
-
富有表現力的圖表與有意義的使用顏色和標準化軸,你可以。
-
有意義的顏色示例:藍色表示它很好,紅色表示它不好。閾值可以幫助。
-
標準化軸的範例:比較 CPU 使用率時,請按百分比而非原始數量進行測量,因為機器可以具有不同的核心數量。通過核心數將 CPU 使用率標準化可減少認知負載,因為查看者可以信任在 100% 的情況下使用所有內核,而不必知道 CPU 的數量。
-
-
定向瀏覽減少猜測。
-
模板變量使得隨機或漫無目的地瀏覽變得更加困難。
-
大多數儀表板應透過警示連結。
-
瀏覽會以連結為導向。如需詳細資訊,請參閱 管理儀表板連結。
-
-
版本控制的儀表板 JSON。
高-優化使用
在這個階段,您已經通過一致且周到的策略優化了儀表板管理使用情況。它需要維護,但結果是值得的。
-
積極減少蔓延。
-
定期檢閱現有儀表板,以確保它們仍然相關。
-
僅已核准的控制面板新增至主控面板清單。
-
跟踪儀表板使用。您可以利用使用情況見解。
-
-
設計的一致性。
-
使用腳本庫生成儀表板,確保模式和樣式的一致性。
-
石榴石網 (十四行詩)
-
圖形 (Python)
-
-
不在瀏覽器中進行編輯。儀表板檢視器使用變數變更檢視。
-
瀏覽儀表板是例外,而不是規則。
-
在專用於該目的的的獨立 Grafana 執行個體中執行實驗和測試,而不是您的生產執行個體。當測試環境中的儀表板證明有用時,請將該儀表板新增至您的主要 Grafana 執行個體。
建立儀表板的最佳做法
本節概述建立 Grafana 儀表板時應遵循的一些最佳作法。
開始之前
以下是建立儀表板之前需要考慮的一些原則。
儀表板應該講故事或回答問題
您試圖用儀表板講述什麼故事? 嘗試創建數據的邏輯進展,例如從大到小或一般到特定。此儀表板的目標是什麼? (提示:如果儀表板沒有目標,請問自己是否真的需要儀表板。)
保持你的圖表簡單,專注於回答你所問的問題。例如,如果您的問題是「哪些服務器出現問題?」 ,那麼也許您不需要顯示所有服務器數據。只需顯示遇到麻煩的人的數據即可。
儀表板應該減少認知負載,而不是增加到它
認知負載基本上是多麼困難,你需要思考一些東西才能弄清楚。讓您的儀表板易於解譯。其他用戶和 future 的你(當你試圖弄清楚什麼在 2AM 破產時)將不勝感激。
問問你自己:
-
我能告訴每個圖表究竟代表什麼嗎? 這很明顯,還是我必須考慮一下?
-
如果我把這個展示給別人,他們需要多長時間才能弄清楚? 他們會迷路嗎?
制定監控策略
製作新儀表板很容易。優化儀表板創建並遵守計劃很困難,但這是值得的。此策略應管理您的整體儀表板方案,並在個別儀表板設計中強制一致性。
如需詳細資訊,請參閱常見觀察策略和儀表板管理成熟度等級。
把它寫下來
制定策略或設計準則後,請將其寫下來,以協助維持一段時間的一致性。
要遵循的最佳做法
-
建立新儀表板時,請確定其名稱有意義。
-
如果要創建要播放或實驗的儀表板,請在名稱
TMP
中輸入單詞TEST
或。 -
請考慮在儀表板名稱或標籤中包含您的姓名或縮寫,以便使用者知道控制面板的擁有者。
-
完成臨時實驗儀表板後,請移除它們。
-
-
如果您建立了許多相關的儀表板,請考慮如何交互參照它們以便於瀏覽。如需詳細資訊,請參閱本節稍後的管理儀表板的最佳做法。
-
Grafana 從數據源中檢索數據。一般來說,基本連線至資料來源的了解和您的特定數據源很重要。
-
避免不必要的儀表板重新整理,以減少網路或後端的負載。例如,如果您的資料每小時變更一次,則不需要將儀表板重新整理速率設定為 30 秒。
-
顯示具有不同單位或範圍的時間序列時,請使用左右 Y 軸。
-
將文件新增至儀表板和面板。
-
若要將文件新增至控制面板,請將 「文字」面板視覺效果新增至控制面板。記錄儀表板的用途、有用的資源連結,以及使用者可能需要與儀表板互動的任何指示等內容。
-
若要將文件加入面板,請編輯面板設定並新增描述。如果您將游標停留
i
在面板左上角的小文字上,您新增的任何文字都會顯示出來。
-
-
重複使用儀表板並使用範本和變數強化一致性。
-
請小心堆疊圖形資料。視覺效果可能會產生誤導,並隱藏重要資料。我們建議在大多數情況下將其關閉。
管理儀表板的最佳做法
本頁概述管理 Grafana 儀表板時應遵循的一些最佳作法。
開始之前
在開始管理儀表板之前,請考慮以下一些原則。
策略可觀測性
有幾種常見的觀察策略。你應該研究它們,並決定其中一個是否為你工作,或者如果你想拿出你自己的. 無論哪種方式,有一個計劃,寫下來,然後堅持下去。
視需要調整您的策略以配合不斷變化的需求
成熟程度
您的儀表板成熟度是多少? 分析您目前的儀表板設定,並將其與儀表板管理成熟度模型進行比較。了解您所在的位置可以幫助您決定如何到達您想去的地方。
要遵循的最佳做法
-
避免儀表板蔓延,這意味著儀表板的增長不受控制。儀表板蔓延會對尋找正確儀表板的時間產生負面影響。複製儀表板並更改「一件事」(更糟糕的是:保留原始標籤)是最簡單的蔓延。
-
定期檢閱儀表板並移除不必要的儀表板。
-
如果您創建了臨時儀表板(也許是為了測試某些內容),請在名稱前綴
TEST:
。完成後刪除儀表板。
-
-
複製沒有重大變更的儀表板並不是個好主意。
-
您錯過了原始儀表板的更新,例如文檔更改,錯誤修復或指標的添加。
-
在許多情況下,正在製作副本以通過設置模板參數簡單地自定義視圖。而應該透過維護指向主儀表板的連結,並使用 URL 參數自訂檢視來完成此操作。
-
-
當您必須複製管控面板時,請清楚地將其重新命名,並且不要複製管控面板標籤。標籤是搜尋期間使用的儀表板的重要中繼資料。複製標籤可能會導致錯誤的相符項目。
-
維護儀表板或交互參照儀表板的儀表板。這可以通過幾種方式完成: