BigQuery でトレースデータを分析する

このドキュメントでは、トレースデータのリンクされた BigQuery データセットを作成する方法と、そのデータセットをクエリする方法について説明します。リンクされたデータセットを使用すると、オブザーバビリティ データを他のビジネスデータと結合するクエリを作成して実行できます。たとえば、BigQuery Studio や データポータル からリンクされたデータセットをクエリできます。また、BigQuery バックエンドでオブザーバビリティ分析クエリを実行することもできます。

オブザーバビリティ分析の使用を開始するには、 トレースのクエリと分析をご覧ください。

リンクされたデータセットが必要な場合

トレースデータやトレースデータとログデータをクエリする場合は、リンクされた BigQuery データセットは必要ありません。このようなシナリオでは、[オブザーバビリティ分析] ページを使用できます。ログデータのクエリについては、 オブザーバビリティ分析でログのクエリと分析を行うをご覧ください。

次のいずれかを行う場合は、リンクされた BigQuery データセットが必要です。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、 実際のシナリオでプロダクトがどのように機能するかを評価してください。 Google Cloud新規のお客様には、ワークロードの実行、テスト、デプロイに利用できる $300 分の無料クレジットも提供されます。
  2. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. Verify that billing is enabled for your Google Cloud project.

  4. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  5. 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 the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  6. Verify that billing is enabled for your Google Cloud project.

  7. Enable the Observability API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

このセクションでは、有効にする必要のある API、リンクされたデータセットの作成に必要なロール、リンクされたデータセットの作成方法について説明します。

前提条件

  1. 始める前にのセクションの手順を完了します。
  2. オブザーバビリティ データセットにリンクを作成するために必要な権限を取得するには、プロジェクトに対する次の IAM ロールを付与するよう管理者に依頼してください。

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

gcloud

後述のコマンドデータを使用する前に、 次のように置き換えます。

  • LINK_ID: BigQuery データセットの名前。
  • DATASET_ID: データセットの ID。トレースデータは `Spans` 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_ID
    

    name フィールドに指定する値は、クエリ パラメータで参照されるリンクされた BigQuery データセットと一致する必要があります。

    LINK_ID フィールドは、BigQuery データセットの名前です。

レスポンスは Operation オブジェクトです。 このオブジェクトには、メソッドの進行状況に関する情報が含まれています。メソッドが完了すると、Operation オブジェクトにステータス データが含まれます。

オブザーバビリティ API エンドポイントの一覧については、 オブザーバビリティ API リファレンス ドキュメントをご覧ください。

BigQuery Studio からトレースデータをクエリする

このセクションでは、[BigQuery Studio] ページからトレースデータをクエリする方法について説明します。

BigQuery の使用に関連する費用については、 BigQuery の料金をご覧ください。

前提条件

  1. 始める前にのセクションの手順を完了します。
  2. BigQuery からリンクされたデータセットをクエリするために必要な権限を取得するには、プロジェクトまたはリンクされたデータセットに対する BigQuery データ閲覧者 roles/bigquery.dataViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

  3. リンクされた BigQuery データセット という名前のオブザーバビリティ バケットが存在することを確認します。_Traceリンクされたデータセットが存在しない場合は、作成します。

BigQuery Studio を使用する

[オブザーバビリティ分析] ページから BigQuery を開き、トレースデータをクエリするには、次の操作を行います。

  1. コンソールで、 [**ログ分析**] ページに移動します。 Google Cloud

    [ログ分析] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。

  2. クエリを入力または読み込みます。詳細については、 トレースのクエリと分析をご覧ください。

  3. ツールバーで、[クエリを実行] または [BigQuery で実行] というラベルの付いたメニューを開き、[BigQuery で開く] を選択します。

    [BigQuery Studio] ページが開きます。このページでは、FROM ステートメント で BigQuery テーブルパス構文を使用して、リンクされたデータセットを指定します。クエリに対して、サポートされているアクション(編集など)を実行できます。

    [BigQuery で開く] オプションが無効になっている場合は、リンクされたデータセットが存在しないか、BigQuery でクエリを開いて表示するために必要な権限がありません。

  4. [BigQuery Studio] ページで、[クエリを実行] をクリックします。

BigQuery エンジンでクエリを実行する

デフォルトでは、[オブザーバビリティ分析] ページは、デフォルトのクエリエンジンで記述したクエリを実行します。実行するクエリは、他のすべてのクエリとスロットを競合します。そのため、スロットが使用できないためにクエリの実行が遅れる可能性があります。デフォルトのクエリエンジンでは、オブザーバビリティ ビュー、ログバケットのビュー、分析ビューのみをクエリできます。

リンクされたデータセットを作成すると、[オブザーバビリティ分析] ページで、デフォルトのクエリエンジンと BigQuery エンジンのどちらかを選択できます。BigQuery スロットを予約していて、BigQuery エンジンでクエリを実行するオプションを選択すると、予約済みのスロットが使用されます。BigQuery エンジンで実行されるクエリは、オブザーバビリティ ビュー、ログバケットのビュー、分析ビューをクエリできます。これらのクエリでは、オブザーバビリティ データを BigQuery テーブルと結合することもできます。

BigQuery エンジンでクエリを実行する主なユースケースは 2 つあります。

  • SQL ベースのアラート ポリシーを作成します。これらのポリシーのクエリは、BigQuery エンジンで実行する必要があります。

  • オブザーバビリティ データと他のビジネスデータの結合結果を表示するグラフをダッシュボードに保存します。

    FROM 句では、オブザーバビリティ データセットのビューまたはログバケットのビューを指定する必要があります。また、クエリ対象のデータのリンクされたデータセットも必要です。オブザーバビリティ データを他のビジネスデータと結合するには、BigQuery テーブルを指定する JOIN ステートメントを追加します。 BigQuery テーブルをクエリするには、必要な IAM 権限が必要です。

BigQuery の使用に関連する費用については、 BigQuery の料金をご覧ください。

前提条件

  1. 始める前にのセクションの手順を完了します。
  2. BigQuery スロットを使用してオブザーバビリティ分析からクエリを実行するために必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。

    • オブザーバビリティ閲覧アクセサー roles/observability.viewAccessor)クエリ対象のオブザーバビリティ ビューに対するこのロールは IAM 条件をサポートしており、特定のビューへの付与を制限できます。ロールの付与に条件を付加しない場合、プリンシパルはすべてのオブザーバビリティ ビューにアクセスできます。
    • ログビューア roles/logging.viewer)プロジェクトに対する
    • BigQuery ユーザー roles/bigquery.user)プロジェクトに対する
    • BigQuery ジョブユーザー roles/bigquery.jobUser)プロジェクトに対する

    ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。

    必要な権限は、カスタム ロールや他の事前定義 ロールから取得することもできます。

  3. リンクされた BigQuery データセット という名前のオブザーバビリティ バケットが存在することを確認します。_Traceリンクされたデータセットが存在しない場合は、作成します。

BigQuery スロットでクエリを実行するように [オブザーバビリティ分析] ページを構成する予定で、Virtual Private Cloud(VPC)Service Controls でプロジェクトを使用している場合は、BigQuery の Enterprise Edition を使用していることを確認してください。 詳細については、 BigQuery のエディションについてをご覧ください。

BigQuery エンジンを使用する

[オブザーバビリティ分析] ページを使用して BigQuery エンジンでクエリを実行するには、次の操作を行います。

  1. コンソールで、 [**ログ分析**] ページに移動します。 Google Cloud

    [ログ分析] に移動

    検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。

  2. クエリを入力または読み込みます。詳細については、 トレースのクエリと分析をご覧ください。

  3. ツールバーに移動し、[BigQuery で実行] というラベルのボタンが表示されていることを確認します。

    ツールバーに [Run Query] と表示されている場合は、 [ Settings] をクリックして [BigQuery] を選択します。

    [BigQuery で実行] ボタンが無効になっている場合は、リンクされたデータセットが存在しません。このエラーを解決するには、 リンクされた BigQuery データセットを作成します

  4. [BigQuery で実行] をクリックします。

次のステップ