このドキュメントでは、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
メソッドは、指定されていないラベルの値の組み合わせごとに 1 つの時系列を返します。このメソッドは、データが存在する時系列のみを返します。
時間間隔
API を使用してデータを読み取る際、開始時刻と終了時刻を設定して、データを取得する間隔を指定します。API は、間隔 (start, end]
(開始時刻から終了時刻まで)の間、データを取得します。
開始時間は終了時間より前にする必要があります。開始時間が終了時間より後の場合、API はエラーを返します。
特定のタイムスタンプを持つデータのみを取得する場合は、開始時刻を終了時間と同じに設定するか、開始時間を設定しないでください。
時刻の表示形式
開始時刻と終了時刻は、RFC 3339 形式の文字列として指定する必要があります。例:
2024-03-01T12:34:56+04:00 2024-03-01T12:34:56.992Z
Linux の date -Iseconds
コマンドは、タイムスタンプを生成するのに便利です。
基本的なリスト取得操作
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 使用率は 1 分ごとにサンプリングされるため、このクエリの結果は約 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
メソッドでは、返された時系列データに対して統計的な集計や縮減を行うことができます。次のセクションでは、2 つの例を示します。詳細については、フィルタリングと集計: 時系列の操作をご覧ください。
例: 時系列のアライメントを行う
この例では、各時系列に含まれる 20 個の使用率測定値を 2 個の測定値に縮減します。つまり、20 分の時間間隔を 2 つの 10 分間に分け、それぞれの期間の平均使用率を算出します。まず各時系列のデータを 10 分間にアライメントしてから、各 10 分間の値の平均をとります。
このアライメント オペレーションには 2 つの利点があります。1 つはデータを平滑化すること、もう 1 つはすべての時系列データのデータを正確な 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 のトラブルシューティングをご覧ください。
例: 時系列を横断的に縮減する
この例では前の例を拡張し、3 つの VM インスタンスのアライメントされた時系列を統合して、すべてのインスタンスの平均 CPU 使用率を含む単一の時系列を作成します。
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 のトラブルシューティングをご覧ください。
次のステップ
- 指標データの保持とレイテンシについて学習する。
- フィルタリングと集計: 時系列の操作について学習する。