在 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 延遲時間總和,請執行下列操作:-
前往 Google Cloud 控制台的leaderboard「Metrics Explorer」頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要進行 App Hub 設定,請選取 App Hub 主專案或已啟用應用程式管理功能的資料夾的管理專案。
- 在「Metric」(指標) 元素中,展開「Select a metric」(選取指標) 選單,在篩選列中輸入
RTT latencies,然後使用子選單選取特定資源類型和指標:- 在「Active resources」(有效資源) 選單中,選取「VM Instance」(VM 執行個體)。
- 在「使用中的指標類別」選單中,選取「Vm_flow」。
- 在「Active metrics」(使用中的指標) 選單中,選取「RTT latencies」(RTT 延遲)。
- 按一下「套用」。
如要新增篩選器,從查詢結果中移除時間序列,請使用「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 個百分位數,請按照下列步驟操作:
-
在 Google Cloud 控制台中,前往「Dashboards」(資訊主頁) 頁面:
如果您是使用搜尋列尋找這個頁面,請選取子標題為「Monitoring」的結果。
- 在 Google Cloud 控制台的工具列中,選取 Google Cloud 專案。如要設定 App Hub,請選取 App Hub 主專案或管理專案。
- 按一下工具列中的「新增小工具」add。
- 在「Add widget」(新增小工具) 對話方塊中,選取 leaderboard「Metric」(指標)。
- 在「Metric」(指標) 元素中,選取「VM Instance - RTT latencies」(VM 執行個體 - RTT 延遲時間) 指標。
- 在「Aggregation」(匯總) 元素中,展開第一個選單,然後選取「99th percentile」(第 99 個百分位數)。
- 在「Display」(顯示) 窗格中,將「Widget type」(小工具類型) 選單的值設為「Line chart」(折線圖)。
- 選用:在「匯總」元素中,展開第二個選單,然後選取用於分組時間序列的標籤。根據預設,系統不會選取任何標籤,因此圖表上會顯示一條線。
後續步驟
如要瞭解如何判斷指標的分塊模型,以及如何解讀百分位數,請參閱「百分位數和分布值指標」。