このドキュメントでは、トレースデータのリンクされた BigQuery データセットを作成する方法と、そのデータセットをクエリする方法について説明します。リンクされたデータセットを使用すると、オブザーバビリティ データを他のビジネスデータと結合するクエリを作成して実行できます。たとえば、BigQuery Studio や データポータル からリンクされたデータセットをクエリできます。また、BigQuery バックエンドでオブザーバビリティ分析クエリを実行することもできます。
オブザーバビリティ分析の使用を開始するには、 トレースのクエリと分析をご覧ください。
リンクされたデータセットが必要な場合
トレースデータのクエリや、トレースデータとログデータのクエリを行う場合は、リンクされた BigQuery データセットは必要ありません。このようなシナリオでは、[オブザーバビリティ分析] ページを使用できます。ログデータのクエリについては、 オブザーバビリティ分析でログのクエリと分析を行うをご覧ください。
次のいずれかを行う場合は、リンクされた BigQuery データセットが必要です。
- トレースデータを他の BigQuery データセットと結合する。
- [BigQuery Studio] ページやデータポータルなどの別のサービスからトレースデータをクエリする。
- [オブザーバビリティ分析] ページから BigQuery エンジンでクエリを実行する。
- アラート ポリシーを使用して SQL クエリの結果をモニタリングする。
リンクされたデータセットを作成するときに発生するシステム アクション
リンクされたデータセットを作成すると、長時間実行オペレーションが開始されます。 このオペレーションの一部として、次のアクションが発生します。
- 監査ログには、リンクの作成リクエストとオペレーションの完了が記録されます。
Monitoring Service Account が存在しない場合、Google Cloud Observability によって作成されます。
このサービス アカウントを作成するには、Cloud Monitoring API を有効にする必要があります。
Google Cloud Observability では、リンクされたデータセットを作成する前にサービス アカウントが必要です。 必要に応じて、サービス アカウントが作成されます。
Cloud Observability サービス アカウント: オブザーバビリティ データセットのリンクに必要です。
Cloud Logging サービス アカウント: ログバケットのリンクに必要です。
監査ログには、サービス エージェント マネージャーから Monitoring サービス アカウントに Monitoring サービス エージェントの IAM ロールを付与するリクエストが記録されます。
始める前に
- アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、 Google Cloud実際のシナリオでプロダクトがどのように動作するかを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
Enable the Cloud Monitoring and Observability APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
リンクされた BigQuery データセットを作成する
このセクションでは、有効にする必要がある API、リンクされたデータセットの作成に必要なロール、リンクされたデータセットの作成方法について説明します。
前提条件
- 始める前にの手順を完了します。
-
オブザーバビリティ データセットにリンクを作成するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。
-
オブザーバビリティ編集者 (
roles/observability.editor) -
BigQuery ユーザー (
roles/bigquery.user) -
ログ閲覧者 (
roles/logging.viewer)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
オブザーバビリティ編集者 (
オブザーバビリティ データセットにリンクを作成する
gcloud
後述のコマンドデータを使用する前に、 次のように置き換えます。
- LINK_ID: BigQuery データセットの名前。
- DATASET_ID: データセットの ID。トレースデータは、
Spansという名前のデータセットに保存されます。 - BUCKET_ID: オブザーバビリティ バケットの ID。たとえば、この ID は
_Traceになります。 - LOCATION: オブザーバビリティ バケットのロケーション。
- PROJECT_ID: プロジェクトの ID。
gcloud beta observability buckets datasets links create
コマンドを実行します。
Linux、macOS、Cloud Shell
gcloud beta observability buckets datasets links create \ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID \ --dataset=DATASET_ID\ --bucket=BUCKET_ID \ --location=LOCATION \ --project=PROJECT_ID
Windows(PowerShell)
gcloud beta observability buckets datasets links create ` projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ` --dataset=DATASET_ID` --bucket=BUCKET_ID ` --location=LOCATION ` --project=PROJECT_ID
Windows(cmd.exe)
gcloud beta observability buckets datasets links create ^ projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID/links/LINK_ID ^ --dataset=DATASET_ID^ --bucket=BUCKET_ID ^ --location=LOCATION ^ --project=PROJECT_ID
create コマンドは、長時間実行オペレーションを開始します。コマンドが成功した場合のレスポンスの例を次に示します。
Create request issued for: [mydataset] Waiting for operation [projects/my-project/locations/us/operations/operation-1775164903749-64e80c9817833-9ff804b6-c3e9cbe7] to complete...done. Created link [mydataset].
REST
BigQuery データセットへのリンクを作成するには、
projects.locations.buckets.datasets.links.create
エンドポイントにリクエストを送信します。
parent パラメータを指定する必要があります。形式は次のとおりです。
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/datasets/DATASET_ID
前の式のフィールドの意味は次のとおりです。
- PROJECT_ID: プロジェクトの ID。
- LOCATION: オブザーバビリティ バケットのロケーション。
- BUCKET_ID: オブザーバビリティ バケットの ID。たとえば、この ID は
_Traceになります。 - DATASET_ID: クエリ対象のデータセットの ID。たとえば、この ID は
Spansになります。
このコマンドには、クエリ パラメータとリクエスト本文が必要です。
クエリ パラメータ
linkIdを指定し、BigQuery データセットの名前に設定する必要があります。たとえば、linkId="my_link"のようにします。BigQuery データセット名は、 プロジェクト内で一意である必要があり、 Google Cloud 100 文字以内で、文字、 数字、アンダースコアのみを含めることができます。リクエスト本文は
Linkオブジェクトです。nameフィールドの値の形式は次のとおりです。projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_ID/dataset/DATASET_ID/links/LINK_IDnameフィールドに指定する値は、クエリ パラメータで参照されるリンクされた BigQuery データセットと一致する必要があります。LINK_ID フィールドは、BigQuery データセットの名前です。
レスポンスは Operation オブジェクトです。
このオブジェクトには、メソッドの進行状況に関する情報が含まれています。メソッドが完了すると、Operation オブジェクトにステータス データが含まれます。
オブザーバビリティ API エンドポイントの一覧については、 オブザーバビリティ API リファレンス ドキュメントをご覧ください。
BigQuery Studio からトレースデータをクエリする
このセクションでは、[BigQuery Studio] ページからトレースデータをクエリする方法について説明します。
BigQuery の使用に関連する費用については、 BigQuery の料金をご覧ください。
前提条件
- 始める前にの手順を完了します。
-
BigQuery からリンクされたデータセットをクエリするために必要な権限を取得するには、プロジェクトまたはリンクされたデータセットに対する BigQuery データ閲覧者 (
roles/bigquery.dataViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。 - リンクされた BigQuery データセット
という名前のオブザーバビリティ バケットが存在することを確認します。
_Traceリンクされたデータセットが存在しない場合は、作成します。
BigQuery Studio を使用する
オブザーバビリティ分析ページから BigQuery を開き、トレースデータをクエリするには、次の操作を行います。
-
コンソールで、 manage_search [ログ分析] ページに移動します。 Google Cloud
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
クエリを入力または読み込みます。詳細については、 トレースのクエリと分析をご覧ください。
ツールバーで、[クエリを実行] または [BigQuery で実行] というラベルのメニューを開き、[BigQuery で開く] を選択します。
[BigQuery Studio] ページが開きます。このページでは、
FROMステートメント で BigQuery テーブルパス構文を使用して、リンクされたデータセットを指定します。クエリに対して、編集など、サポートされているアクションを実行できます。[BigQuery で開く] オプションが無効になっている場合は、リンクされたデータセットが存在しないか、BigQuery でクエリを開いて表示するために必要な権限がありません。
[BigQuery Studio] ページで、[クエリを実行] をクリックします。
BigQuery エンジンでクエリを実行する
デフォルトでは、[オブザーバビリティ分析] ページは、デフォルトのクエリエンジンで記述したクエリを実行します。実行するクエリは、他のすべてのクエリとスロットを競合します。そのため、スロットが使用できないためにクエリの実行が遅れる可能性があります。デフォルトのクエリエンジンでは、オブザーバビリティ ビュー、ログバケットのビュー、分析ビューのみをクエリできます。
リンクされたデータセットを作成すると、[オブザーバビリティ分析] ページで、デフォルトのクエリエンジンと BigQuery エンジンのどちらかを選択できます。BigQuery スロットを予約していて、BigQuery エンジンでクエリを実行するオプションを選択すると、予約済みのスロットが使用されます。BigQuery エンジンで実行されるクエリは、オブザーバビリティ ビュー、ログバケットのビュー、分析ビューをクエリできます。これらのクエリでは、オブザーバビリティ データを BigQuery テーブルと結合することもできます。
BigQuery エンジンでクエリを実行する主なユースケースは 2 つあります。
SQL ベースのアラート ポリシーを作成します。これらのポリシーのクエリは、BigQuery エンジンで実行する必要があります。
オブザーバビリティ データと他のビジネスデータの結合結果を表示するグラフをダッシュボードに保存します。
FROM句では、オブザーバビリティ データセットのビューまたはログバケットのビューを指定する必要があります。また、クエリ対象のデータのリンクされたデータセットも必要です。オブザーバビリティ データを他のビジネスデータと結合するには、BigQuery テーブルを指定するJOINステートメントを追加します。 BigQuery テーブルをクエリするには、必要な IAM 権限が必要です。
BigQuery の使用に関連する費用については、 BigQuery の料金をご覧ください。
前提条件
- 始める前にの手順を完了します。
-
BigQuery スロットを使用してオブザーバビリティ分析からクエリを実行するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
-
オブザーバビリティ閲覧アクセサー (
roles/observability.viewAccessor)クエリ対象のオブザーバビリティ ビューに対するこのロールは IAM 条件をサポートしており、特定のビューへの付与を制限できます。ロール付与に条件を付加しない場合、プリンシパルはすべてのオブザーバビリティ ビューにアクセスできます。 -
ログビューア (
roles/logging.viewer)プロジェクトに対する -
BigQuery ユーザー (
roles/bigquery.user)プロジェクトに対する -
BigQuery ジョブユーザー (
roles/bigquery.jobUser)プロジェクトに対する
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
オブザーバビリティ閲覧アクセサー (
- リンクされた BigQuery データセット
という名前のオブザーバビリティ バケットが存在することを確認します。
_Traceリンクされたデータセットが存在しない場合は、作成します。
BigQuery スロットでクエリを実行するように [オブザーバビリティ分析] ページを構成する予定で、Virtual Private Cloud(VPC)Service Controls でプロジェクトを使用している場合は、BigQuery の Enterprise Edition を使用していることを確認してください。 詳細については、 BigQuery のエディションについてをご覧ください。
BigQuery エンジンを使用する
[オブザーバビリティ分析] ページを使用しているときに BigQuery エンジンでクエリを実行するには、次の操作を行います。
-
コンソールで、 manage_search [ログ分析] ページに移動します。 Google Cloud
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
クエリを入力または読み込みます。詳細については、 トレースのクエリと分析をご覧ください。
ツールバーに移動し、[BigQuery で実行] というボタンが表示されていることを確認します。
ツールバーに [Run Query] と表示されている場合は、 [settings Settings] をクリックして [BigQuery] を選択します。
[BigQuery で実行] ボタンが無効になっている場合は、リンクされたデータセットがないことを示します。このエラーを解決するには、 リンクされた BigQuery データセットを作成します。
[BigQuery で実行] をクリックします。