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

このドキュメントでは、トレースデータのリンクされた BigQuery データセットを作成する方法と、そのデータセットをクエリする方法について説明します。リンクされたデータセットを使用すると、オブザーバビリティ データを他のビジネスデータと結合するクエリを作成して実行できます。たとえば、BigQuery Studio や Looker 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 ロールを付与するよう管理者に依頼してください。

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

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

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 オブジェクトにステータス データが含まれます。

Observability API エンドポイントの一覧については、 Observability 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 で実行] をクリックします。

次のステップ