您可以使用 Monitoring API 中的 timeSeries.list 方法,擷取、篩選及匯總指定時間間隔內的原始或處理過的時間序列資料。您可以使用特定語言的用戶端程式庫叫用 timeSeries.list。
總覽
每次呼叫 timeSeries.list 方法時,都可以從單一指標類型傳回任意數量的時間序列。舉例來說,如果您使用 Compute Engine,則 compute.googleapis.com/instance/cpu/usage_time 指標類型會為每個 VM 執行個體提供獨立的時間序列。如需指標和時間序列的簡介,請參閱「指標、時間序列和資源」。
如要指定所需的時間序列資料,請向 timeSeries.list 方法提供下列資訊:
- 指定指標類型的篩選器運算式。或者,篩選器會指定產生時間序列的資源,或為時間序列中的某些標籤指定值,以選取指標時間序列的子集。
- 限制傳回多少資料的時間間隔。
- 或者,指定如何結合多個時間序列,以產生資料的匯總摘要。如需更多資訊和範例,請參閱「匯總資料」。
時間序列篩選器
如要指定要擷取的時間序列,請將時間序列篩選器傳遞至 timeSeries.list 方法。以下列出常見的篩選器元件:
篩選器必須指定單一指標類型。例如:
metric.type = "compute.googleapis.com/instance/cpu/usage_time"如要擷取使用者定義的指標,請將篩選器中的
metric.type前置字串變更為custom.googleapis.com或其他前置字串 (如有使用);external.googleapis.com是常用的前置字串。篩選器可以指定指標維度標籤的值。指標類型可決定存在哪些標籤。例如:
(metric.label.instance_name = "your-instance-id" OR metric.label.instance_name = "your-other-instance-id")在上述運算式中,即使實際指標物件使用
labels做為索引鍵,label仍正確。篩選器只能選取包含特定受監控資源類型的時間序列:
resource.type = "gce_instance"
篩選器元件可以合併為單一時間序列篩選器,例如:
metric.type = "compute.googleapis.com/instance/cpu/usage_time" AND
(metric.label.instance_name = "your-instance-id" OR
metric.label.instance_name = "your-other-instance-id")
如果您未指定所有指標標籤的值,list 方法會為未指定標籤中的每個值組合傳回時間序列。此方法只會傳回有資料的時間序列。
時間間隔
使用 API 讀取資料時,您可以設定開始和結束時間,指定要擷取資料的時間間隔。API 會從 (start, end] 間隔擷取資料,也就是從開始時間之後到結束時間。
開始時間不得晚於結束時間。如果指定的開始時間晚於結束時間,API 會傳回錯誤。
如果只想擷取特定時間戳記的資料,請將開始時間設為與結束時間相同,或不設定開始時間。
時間格式
開始和結束時間必須以 RFC 3339 格式的字串指定。例如:
2024-03-01T12:34:56+04:00 2024-03-01T12:34:56.992Z
Linux 上的 date -Iseconds 指令可用於產生時間戳記。
基本 list 作業
timeSeries.list 方法可用於傳回原始資料,或傳回高度處理的資料。本節說明如何列出可用的時間序列,以及如何取得特定時間序列中的值。
範例:列出可用的時間序列
此範例顯示如何僅列出符合篩選器的時間序列名稱和說明,而不是傳回所有可用資料:
C#
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如果遇到問題,請參閱「排解 Monitoring API 問題」。
範例:取得時間序列資料
這個範例會傳回特定 Compute Engine 執行個體在 20 分鐘內記錄的 CPU 使用率測量結果。傳回的資料量取決於指標的取樣率。由於 CPU 使用率每分鐘取樣一次,因此這項查詢的結果約為 20 個資料點。如果時間序列傳回多個資料點,API 會按照時間倒序傳回每個時間序列中的資料點,且無法覆寫這個點排序。
C#
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如果遇到問題,請參閱「排解 Monitoring API 問題」。
匯總資料
timeSeries.list 方法可對傳回的時間序列資料執行統計匯總和縮減。以下各節將示範兩個範例。詳情請參閱「篩選和匯總:操控時間序列」。
範例:校正時間序列
這個範例會將每個時間序列中的 20 個個別使用率測量結果減少為 2 個測量結果:20 分鐘間隔內兩個 10 分鐘時段的平均使用率。每個時間序列的資料會先對齊為 10 分鐘的週期,然後計算每個 10 分鐘週期內值的平均值。
對齊作業有兩項優點:可讓資料更平滑,並將所有時間序列的資料對齊至精確的 10 分鐘界線。接著,系統會進一步處理對齊的資料。
C#
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如果遇到問題,請參閱「排解 Monitoring API 問題」。
範例:跨時間序列化約
此範例延伸了上一個範例,將三個 VM 執行個體中完成校正的時間序列結合成單一時間序列,呈現所有執行個體的平均使用率。
C#
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Go
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Java
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Node.js
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
PHP
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Python
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
Ruby
如要向 Monitoring 進行驗證,請設定應用程式預設憑證。詳情請參閱「為本機開發環境設定驗證機制」。
執行程式碼範例前,請將 GOOGLE_CLOUD_UNIVERSE_DOMAIN 環境變數設為 s3nsapis.fr。
如果遇到問題,請參閱「排解 Monitoring API 問題」。
後續步驟
- 瞭解指標資料的保留和延遲時間。
- 瞭解篩選和匯總:操控時間序列。