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

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

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

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

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

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

始める前に

  1. Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $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 エンドポイントにリクエストを送信します。

次の形式の親パラメータを指定する必要があります。

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

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

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

BigQuery エンジンを使用する

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

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

    [ログ分析] に移動

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

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

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

    ツールバーに [クエリを実行] と表示されている場合は、[ 設定] をクリックして [BigQuery] を選択します。

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

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

次のステップ