Cloud Monitoring 的篩選和匯總功能可讓您精簡大量原始時間序列資料,找出模式、趨勢和離群值。篩選會移除您不想分析的資料,而匯總則會將不同時間和維度的資料點合併成較小的摘要組合。
這些作業是以「指標、時間序列和資源」一文所述的資料模型為基礎。如要套用這些技術,請使用 Cloud Monitoring API,或 Google Cloud 控制台中的圖表和警告工具。如需範例,請參閱「API 政策範例」和「Monitoring 查詢語言範例」。
原始時間序列資料
單一時間序列中的原始指標資料量可能非常龐大,而且通常有多個時間序列與指標類型相關聯。如要分析整組資料的共通點、趨勢或離群值,您必須對資料集中的時間序列進行一些處理。否則要考量的資料太多。
為介紹篩選和匯總功能,本頁範例使用少量假設時間序列。舉例來說,下圖顯示三個時間序列中幾小時的原始資料:
每個時間序列都會以紅色、藍色或綠色標示,反映假設 color 標籤的值。標籤的每個值都有一個時間序列。請注意,由於這些值是在不同時間記錄,因此不會整齊排列。
篩選
篩選是最強大的分析工具之一,可隱藏您目前不感興趣的資料。
您可以根據下列條件篩選時間序列資料:
- 時間。
- 一或多個標籤的值。
下圖顯示篩選結果,只顯示原始原始時間序列組中的紅色時間序列 (如圖 1 所示):
下一節會使用這個透過篩選選取的時序,示範對齊功能。
匯總
另一種減少資料量的方法是歸納或匯總資料。匯總包含兩個層面:
- 校正:將單一時間序列中的資料正規化。
- 縮減,或合併多個時間序列。
您必須先對齊時間序列,才能縮減。接下來的幾節將說明如何使用儲存整數值的時間序列,進行校正和縮減。當時間序列具有 Distribution 值類型時,這些一般概念也適用;不過,在這種情況下,會有一些額外的限制。詳情請參閱「關於分布值指標」。
校正:系列內正規化
匯總時間序列資料的第一步是「對齊」。「對齊」會建立新的時間序列,其中原始資料已按時間正規化,因此可與其他對齊的時間序列合併。校正會產生具有固定間隔資料的時間序列。
對齊程序包含兩個步驟:
將時間序列劃分為固定的時間間隔,也稱為分桶資料。這個時間間隔稱為「週期」、「校正週期」或「校正時間範圍」。
計算對齊週期內資料點的單一值。您可以選擇如何計算該單一值,例如加總所有值、計算平均值,或使用最大值。
由於校正建立的新時間序列會以單一值代表校正週期內原始時間序列的所有值,因此也稱為「序列內縮減」或「序列內匯總」。
正規化時間間隔
分析時間序列資料時,資料點必須位於等距的時間邊界上。對齊是實現這個目標的過程。
校正會建立新的時間序列,資料點之間有固定的間隔,即校正週期。對齊通常會套用至多個時間序列,以便進一步操作。
本節將對齊步驟套用至單一時間序列,藉此說明這些步驟。在本範例中,一小時的對齊週期會套用至圖 2 所示的時間序列範例。時間序列會顯示三小時內擷取的資料。將資料點分成一小時的時間範圍,每個時間範圍內會產生下列資料點:
| 期間 | 值 |
|---|---|
| 1:01–2:00 | 400、350、300、200 |
| 2:01–3:00 | 200, 100 |
| 3:01–4:00 | 300、250、200 |
選擇校正週期
校正週期的長度取決於兩個因素:
- 您想在資料中找到的精細程度。
- 資料的取樣週期,也就是回報頻率。
以下各節將詳細說明這些因素。
此外,Cloud Monitoring 只會保留指標資料一段時間。保留期限因指標類型而異,詳情請參閱「資料保留」。保留期限是最長的有效對齊期限。
精細程度
如果您知道某個事件發生在幾小時內,且想深入探究,建議您使用一小時或幾分鐘的時間範圍進行對齊。
如要探索較長時間範圍內的趨勢,建議使用較長的對齊週期。如果想查看短期異常狀況,通常不適合使用較長的對齊週期。舉例來說,如果您使用數週的對齊週期,系統仍可偵測到該週期內是否存在異常狀況,但對齊後的資料可能過於粗略,無法提供太多幫助。
取樣率
資料寫入頻率 (取樣率) 也會影響對齊週期的選擇。如要瞭解內建指標的取樣率,請參閱「指標清單」。請參考下圖,其中顯示取樣率為每分鐘一個資料點的時間序列:
如果校正週期與取樣週期相同,則每個校正週期中會有一個資料點。舉例來說,這表示套用 max、mean 或 min 任何一種對齊器,都會產生相同的對齊時間序列。下圖顯示這項結果,以及原始時間序列 (以淡色線條表示):
如要進一步瞭解對齊器函式的運作方式,請參閱「對齊器」。
如果將校正週期設為兩分鐘 (即取樣週期的兩倍),則每個週期會有兩個資料點。如果將 max、mean 或 min 對齊器套用至兩分鐘對齊期間內的資料點,產生的時間序列會有所不同。下圖顯示這些結果,以及原始時間序列 (以淡色線條表示):
選擇對齊週期時,請確保其長度超過取樣週期,但短到足以顯示相關趨勢。您可能需要多方嘗試,才能找出實用的校正週期。舉例來說,如果資料收集頻率為每天一個資料點,則一小時的對齊週期太短,無法發揮作用:大多數小時都不會有資料。
校正函式
將資料分成多個對齊週期後,請選取要套用至該週期內資料點的函式 (即對齊器)。對齊器會產生單一值,並放在每個對齊週期的結尾。
對齊選項包括加總值、找出最大值、最小值或平均值、找出所選百分位數值、計算值等。Cloud Monitoring API 支援多種校正函式,遠多於此處說明的函式。如需完整清單,請參閱 Aligner。如需轉換時間序列資料的比率和差異校正器說明,請參閱「種類、類型和轉換」。
舉例來說,從原始時間序列 (如圖 1 所示) 取得分桶資料,選擇對齊器並套用至每個 bucket 中的資料。下表顯示原始值和三種不同對齊器 (max、mean 和 min) 的結果:
| 期間 | 值 | 校正函式:max | 校正函式:平均值 | 校正函式:min |
|---|---|---|---|---|
| 1:01–2:00 | 400、350、300、200 | 400 | 312.5 | 200 |
| 2:01–3:00 | 200, 100 | 200 | 150 | 100 |
| 3:01–4:00 | 300、250、200 | 300 | 250 | 200 |
下圖顯示使用 1 小時對齊週期,將 max、mean 或 min 對齊器套用至原始紅色時間序列 (以圖中的淡色線表示) 的結果:
其他對齊工具
下表顯示相同的原始值,以及其他三個對齊器的結果:
- Count 會計算對齊週期內的值數量。
- Sum:加總調整週期內的所有值。
- Next older:使用該時段內最新的值做為對齊值。
| 期間 | 值 | 校正函式:count | 校正函式:總和 | 校正函式:下一個較舊的 |
|---|---|---|---|---|
| 1:01–2:00 | 400、350、300、200 | 4 | 1250 | 200 |
| 2:01–3:00 | 200, 100 | 2 | 300 | 100 |
| 3:01–4:00 | 300、250、200 | 3 | 750 | 200 |
這些結果不會顯示在圖表上。
縮減:合併時間序列
程序的下一步是「縮減」,也就是將多個對齊的時間序列合併為新的時間序列。這個步驟會將對齊週期邊界上的所有值替換為單一值。由於縮減作業會跨不同的時間序列運作,因此也稱為「跨序列匯總」。
縮減函式
「reducer」是一種函式,可套用至一組時間序列的值,產生單一值。
Reducer 選項包括加總對齊的值,或找出值的最大值、最小值或平均值。Cloud Monitoring API 支援多種縮減函式,完整清單請參閱 Reducer。縮減器清單與對齊器清單平行。
時間序列必須先經過校正,才能縮減。下圖顯示使用平均值校正器,將所有三個原始時間序列 (來自圖 1) 校正為 1 小時週期的結果:
下表顯示三個平均值對齊時間序列 (如圖 4 所示) 的值:
| 對齊邊界 | 紅色 | 藍色 | 綠色 |
|---|---|---|---|
| 2:00 | 312.5 | 133.3 | 400 |
| 3:00 | 150 | 283.3 | 433.3 |
| 4:00 | 250 | 300 | 350 |
使用上表中的對齊資料,選擇一個縮減器並套用至值。下表顯示將不同縮減器套用至「平均值」對齊資料的結果:
| 對齊邊界 | 縮減函式:最大值 | 縮減函式:平均值 | 縮減函式:min | 縮減函式:總和 |
|---|---|---|---|---|
| 2:00 | 400 | 281.9 | 133.3 | 845.8 |
| 3:00 | 433.3 | 288.9 | 150 | 866.7 |
| 4:00 | 350 | 300 | 250 | 900 |
根據預設,縮減作業會套用至所有時間序列,產生單一時間序列。下圖顯示使用 max 縮減器匯總三個平均值對齊時間序列的結果,這會產生時間序列中的最高平均值:
縮減作業也可以與分組作業結合,將時間序列分門別類,並在各群組的時間序列中套用縮減函式。
分組
分組功能可讓您在時間序列的「子集」中套用縮減器,而非在整個時間序列中套用。如要將時間序列分組,請選取一或多個標籤。接著,系統會根據所選標籤的值,將時間序列分組。分組會為每個群組產生一個時間序列。
如果指標類型記錄 zone 和 color 標籤的值,您可以依其中一個或兩個標籤將時間序列分組。套用縮減器時,每個群組都會縮減為單一時間序列。如果依顏色分組,則資料中代表的每種顏色都會有一個時間序列。如果依可用區分組,則會取得資料中顯示的每個可用區的時間序列。如果同時依這兩項分組,則會取得各顏色和可用區組合的時間序列。
舉例來說,假設您擷取了許多時間序列,其中 color 標籤的值為「red」、「blue」和「green」。校正所有時間序列後,可以依 color 值分組,然後依群組縮減。這會產生三個顏色專屬的時間序列:
這個範例並未指定使用的對齊函式或縮減函式,重點在於分組可讓您將大量時間序列縮減為較小的集合,其中每個時間序列都代表共用共同屬性的群組:在本範例中,即為 color 標籤的值。
次要匯總項目
Cloud Monitoring 會執行兩個匯總步驟。
「主要」匯總會正規化測量資料,然後使用縮減函式合併正規化的時間序列。使用分組時,這個步驟執行的縮減作業可能會產生多個時間序列。
次要匯總會套用至主要匯總步驟的結果,可讓您使用第二個縮減函式,將分組的時間序列合併為一項結果。
下表顯示分組時間序列的值 (如圖 6 所示):
| 對齊邊界 | 紅色群組 | 藍色群組 | 綠色群組 |
|---|---|---|---|
| 2:00 | 400 | 150 | 450 |
| 3:00 | 200 | 350 | 450 |
| 4:00 | 300 | 300 | 400 |
接著,您可以套用次要匯總,進一步縮減這三個已縮減的時間序列。下表顯示套用所選縮減器的結果:
| 對齊邊界 | 縮減函式:最大值 | 縮減函式:平均值 | 縮減函式:min | 縮減函式:總和 |
|---|---|---|---|---|
| 2:00 | 450 | 333.3 | 150 | 1000 |
| 3:00 | 450 | 333.3 | 200 | 1000 |
| 4:00 | 400 | 333.3 | 300 | 1000 |
下圖顯示使用 mean 縮減器匯總三個分組序列的結果:
種類、類型和轉換
請注意,時間序列中的資料點是以指標種類和值類型為特徵,詳情請參閱「值類型和指標種類」。適用於一組資料的對齊器和縮減器,可能不適用於另一組資料。舉例來說,計算 false 值數量的對齊器或縮減器適用於布林值資料,但不適用於數值資料。同樣地,計算平均值的對齊器或縮減器適用於數值資料,但不適用於布林資料。
部分對齊器和縮減器也可用來明確變更時間序列中資料的指標種類或值類型。有些 (例如 ALIGN_COUNT) 則會以副作用的形式執行。
指標種類:累積指標是指每個值都代表自開始收集值以來的總和。您無法直接在圖表中使用累計指標,但可以使用 delta 指標,其中每個值都代表自上次測量以來的變化。
您也可以將累計和差異指標轉換為量測指標。舉例來說,假設某個差異指標的時間序列如下:
(開始時間, 結束時間] (分鐘) 值 (MiB) (0, 2] 8 (2, 5] 6 (6, 9] 9 假設您選取
ALIGN_DELTA做為對齊器,並將對齊週期設為三分鐘。由於對齊週期與每個樣本的 (開始時間、結束時間] 不符,因此系統會建立含有內插值的時間序列。在本例中,內插時間序列為:(開始時間, 結束時間] (分鐘) 內插值 (MiB) (0, 1] 4 (1, 2] 4 (2, 3] 2 (3, 4] 2 (4, 5] 2 (5, 6] 0 (6, 7] 3 (7, 8] 3 (8, 9] 3 接著,系統會將三分鐘對齊週期內的所有資料點加總,產生對齊值:
(開始時間, 結束時間] (分鐘) 調整後的值 (MiB) (0, 3] 10 (3, 6] 4 (6, 9] 9 如果選取
ALIGN_RATE,則除了對齊值會除以對齊週期外,程序相同。在本範例中,對齊週期為三分鐘,因此對齊的時間序列具有下列值:(開始時間, 結束時間] (分鐘) 調整後的值 (MiB / 秒) (0, 3] 0.056 (3, 6] 0.022 (6, 9] 0.050 如要繪製累計指標圖表,必須先將其轉換為差異指標或比率指標。累計指標的程序與先前討論類似。您可以計算相鄰項目的差異,從累計時間序列計算差異時間序列。
值類型:部分校正器和化約器會保留輸入資料的值類型,例如整數資料在校正後仍為整數資料。其他對齊器和化約器會將資料從一種型別轉換為另一種型別,這表示資訊可能會以不適合原始值型別的方式進行分析。
舉例來說,
REDUCE_COUNT縮減器可套用至數值、布林值、字串和分布資料,但產生的結果是 64 位元整數,用於計算該期間內的值數量。REDUCE_COUNT只能套用至量測計和差異指標,且不會變更指標種類。
Aligner 和 Reducer 的參考表格會指出各項資料適合的資料類型,以及產生的任何轉換。舉例來說,以下是 ALIGN_DELTA 的項目: