本文說明如何使用 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")
在上一個運算式中,
label
是正確的,但實際指標物件會將labels
做為其鍵。篩選器只能選取包含特定受控資源類型的時間序列:
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 問題」。
後續步驟
- 瞭解指標資料的保留與延遲時間。
- 瞭解如何篩選及匯總:操控時間序列。