儀表板的最佳做法 - Amazon Managed Grafana

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

儀表板的最佳做法

本文件主題是針對支援 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 參數自訂檢視來完成此操作。

  • 當您必須複製管控面板時,請清楚地將其重新命名,並且不要複製管控面板標籤。標籤是搜尋期間使用的儀表板的重要中繼資料。複製標籤可能會導致錯誤的相符項目。

  • 維護儀表板或交互參照儀表板的儀表板。這可以通過幾種方式完成:

    • 建立管控面板連結、面板或資料連結。連結可以移至其他儀表板或外部系統。如需詳細資訊,請參閱管理儀表板連結

    • 加入「管控面板」清單面板。然后,您可以通過進行標籤或文件夾搜索來自定義所查看的內容。

    • 添加文本面板並使用降價來自定義顯示。