關於分布值指標

在 Cloud Monitoring 中,您可以透過分布值指標分析大量測量值的統計分布情形,例如 HTTP 回應延遲時間,因為收集每個資料點並不實際。Distribution 指標不會記錄原始值,而是將測量結果分組為稱為「值區」的值範圍,在每個取樣間隔形成直方圖。您可以將這些指標以熱視圖呈現,或在折線圖和長條圖中匯總為百分位數和平均值。

發布指標的運作方式

為說明如何建立直方圖,假設某項服務會測量要求的 HTTP 延遲時間,並使用分布值類型的指標回報這項資料。資料每分鐘回報一次。 服務會定義指標的值範圍 (稱為「值區」),並記錄落入各值區的測量值數量。舉例來說,當 HTTP 要求完成時,服務會遞增 bucket 中的計數,而 bucket 的範圍包含要求延遲值。這些計數會建立該分鐘的值長條圖。

假設在一分鐘間隔內測得的延遲時間為 5、1、3、5、6、10 和 14。如果值區為 [0, 4)、[4, 8)、[8, 12) 和 [12, 16),則這項資料的直方圖為 [2, 3, 1, 1]。下表顯示個別測量結果如何影響每個值區的計數:

值區 延遲時間衡量指標 值區中的值數量
[12,16) 14 1
[8,12) 10 1
[4,8) 5、5、6 3
[0,4) 1, 3 2

這項資料寫入時間序列時,系統會建立 Point 物件。如果是具有分配值的指標,該物件會包含值的直方圖。在這個取樣期間,Point 包含 [2, 3, 1, 1]。個別測量結果不會寫入時間序列。

假設上表記錄的是在 1:00 測得的延遲時間資料直方圖。該表格說明如何進行一系列測量,並將結果轉換為儲存空間計數。假設 1:01、1:02 和 1:03 的值區計數如下表所示:

值區 1:00 的直方圖
「
」直方圖 1:01

的直方圖 1:02
「
」直方圖 1:03
[12,16) 1 6 0 1
[8,12) 1 0 2 2
[4,8) 3 1 1 8
[0,4) 2 6 10 3

上表顯示依時間編列索引的直方圖序列。表格中的每一欄代表一分鐘內的延遲時間資料。如要取得特定時間的測量次數,請加總值區計數。不過,實際測量結果不會顯示,因為分布值指標不提供這些測量結果。

熱視圖

熱視圖圖表旨在顯示單一時間序列和分布值。在這些圖表中,X 軸代表時間,Y 軸代表值區,顏色代表值。顏色越亮,表示值越高。舉例來說,熱視圖的深色區域表示值區計數低於黃色或白色區域。

下圖是上一個範例的熱視圖表示法之一:

範例的熱視圖。

在上圖中,熱視圖使用黑色代表最小值區計數 0,黃色代表最大值區計數 10。紅色和橘色則代表介於這兩個極端之間的值。

由於熱視圖圖表只能顯示單一時間序列,因此您必須設定匯總選項,合併所有時間序列。

如要使用 Metrics Explorer 顯示 VM 執行個體的 RTT 延遲時間總和,請執行下列操作:
  1. 前往 Google Cloud 控制台的「Metrics Explorer」頁面:

    前往 Metrics Explorer

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。

  2. 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式管理功能的資料夾的管理專案。
  3. 在「Metric」(指標) 元素中,展開「Select a metric」(選取指標) 選單,在篩選列中輸入 RTT latencies,然後使用子選單選取特定資源類型和指標:
    1. 在「Active resources」(有效資源) 選單中,選取「VM Instance」(VM 執行個體)。
    2. 在「使用中的指標類別」選單中,選取「Vm_flow」。
    3. 在「Active metrics」(使用中的指標) 選單中,選取「RTT latencies」(RTT 延遲)。
    4. 按一下「套用」。
  4. 如要新增篩選器,從查詢結果中移除時間序列,請使用「Filter」元素。

折線圖和長條圖

折線圖、堆疊長條圖和堆疊折線圖用於顯示純量資料,無法顯示分布值。如要使用其中一種圖表類型顯示具有分布值的指標,您必須將直方圖值轉換為純量值。舉例來說,您可以設定匯總選項,計算直方圖中值的平均值或百分位數。

如要瞭解如何在折線圖上顯示分布值指標,請參閱下一節。

匯總和分布指標

匯總是指正規化時間序列中的資料點,以及合併多個時間序列。分布值指標的匯總方式與值類型為整數或雙精度浮點數的指標相同。不過,圖表類型會對用於對齊及分組時間序列的選項,強制執行一些規定。

熱視圖

熱視圖圖表會顯示一個分布值時間序列。因此,必須設定對齊函式和分組函式,才能建立單一時間序列。

當圖表顯示熱度圖時,請選取 sum 或 delta 對齊功能。 這些函式會在 bucket 層級,合併同一校正期間內單一時間序列的所有樣本,結果為分配值。舉例來說,如果時間序列的兩個相鄰樣本分別是 [2, 3, 1, 1] 和 [2, 5, 4, 1],則加總校正函式會產生 [4, 8, 5, 2]。

分組函式會定義不同時間序列的合併方式。這個函式有時稱為匯總器或縮減器。如果是熱視圖,請將分組函式設為 sum 函式。加總函式會加總所有直方圖中相同值區的值,產生新的直方圖。舉例來說,時間序列 A 的值 [2, 3, 1, 1] 和時間序列 B 的值 [1, 5, 2, 2] 相加後,會得到 [3, 8, 3, 3]。

折線圖

折線圖只會顯示純量值時間序列。如果選取分布值指標,圖表會設定最佳參數,以顯示熱視圖。「Aggregation」(匯總) 元素的欄位會設為「Distribution」(分配) 和「None」(無)。

  • 「分布」的解讀方式取決於特定指標。對於具有 GAUGE 指標類型的分配值指標類型,預設對齊函式會設為 sum。如果分布值指標類型具有 CUMULATIVE 指標種類,則預設對齊函式為 DELTA。

  • 設為「None」(無) 可確保所有時間序列都會合併。

如要在折線圖上顯示分布值指標,則必須變更圖表的預設設定。舉例來說,如要設定資訊主頁上的折線圖,顯示分配值指標中每個時間序列的第 99 個百分位數,請按照下列步驟操作:

  1. 在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁) 頁面:

    前往「Dashboards」(資訊主頁)

    如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。

  2. 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主專案或管理專案。
  3. 按一下工具列中的「新增小工具」。
  4. 在「Add widget」(新增小工具) 對話方塊中,選取 「Metric」(指標)。
  5. 在「Metric」(指標) 元素中,選取「VM Instance - RTT latencies」(VM 執行個體 - RTT 延遲時間) 指標。
  6. 在「Aggregation」(匯總) 元素中,展開第一個選單,然後選取「99th percentile」(第 99 個百分位數)。
  7. 在「Display」(顯示) 窗格中,將「Widget type」(小工具類型) 選單的值設為「Line chart」(折線圖)。
  8. 選用:在「匯總」元素中,展開第二個選單,然後選取用於分組時間序列的標籤。根據預設,系統不會選取任何標籤,因此圖表上會顯示一條線。

後續步驟

如要瞭解如何判斷指標的分塊模型,以及如何解讀百分位數,請參閱「百分位數和分布值指標」。