このドキュメントでは、トレースデータのリンクされた BigQuery データセットを作成する方法と、そのデータセットをクエリする方法について説明します。リンクされたデータセットを使用すると、オブザーバビリティ データを他のビジネスデータと結合するクエリを作成して実行できます。たとえば、BigQuery Studio と Looker Studio からリンクされたデータセットをクエリできます。BigQuery バックエンドでオブザーバビリティ分析クエリを実行することもできます。
オブザーバビリティ分析の使用を開始するには、トレースをクエリして分析するをご覧ください。
リンクされたデータセットが必要な場合
トレースデータをクエリする場合や、トレースデータとログデータをクエリする場合は、リンクされた BigQuery データセットは必要ありません。このようなシナリオでは、[Observability Analytics] ページを使用できます。ログデータのクエリについては、Observability Analytics でログのクエリと分析を行うをご覧ください。
次のいずれかを行う場合は、リンクされた BigQuery データセットが必要です。
- トレースデータを他の BigQuery データセットと結合する。
- [BigQuery Studio] ページや Looker Studio などの別のサービスからトレースデータをクエリする。
- BigQuery エンジンの [オブザーバビリティ分析] ページからクエリを実行する。
始める前に
- Google Cloud アカウントにログインします。 Google Cloudを初めて使用する場合は、 アカウントを作成して、実際のシナリオでの Google プロダクトのパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $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 Observability API.
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 Observability API.
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)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
オブザーバビリティ編集者(
オブザーバビリティ データセットにリンクを作成する
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_IDnameフィールドに指定する値は、クエリ パラメータで参照されるリンクされた BigQuery データセットと一致する必要があります。LINK_ID フィールドは BigQuery データセットの名前です。
レスポンスは Operation オブジェクトです。このオブジェクトには、メソッドの進行状況に関する情報が格納されています。メソッドが完了すると、Operation オブジェクトにステータス データが含まれます。
Observability API エンドポイントの一覧については、Observability API リファレンス ドキュメントをご覧ください。
BigQuery Studio からトレースデータをクエリする
このセクションでは、[BigQuery Studio] ページからトレースデータにクエリを実行する方法について説明します。
BigQuery の使用に関連する費用については、BigQuery の料金をご覧ください。
前提条件
- 「始める前に」セクションの手順を完了します。
-
BigQuery からリンクされたデータセットにクエリを実行するために必要な権限を取得するには、プロジェクトまたはリンクされたデータセットに対する BigQuery データ閲覧者 (
roles/bigquery.dataViewer)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織に対するアクセス権の管理をご覧ください。 _Traceという名前のオブザーバビリティ バケットのリンクされた BigQuery データセットが存在することを確認します。リンクされたデータセットが存在しない場合は、作成します。
BigQuery Studio を使用する
オブザーバビリティ分析ページから BigQuery を開き、トレースデータをクエリするには、次の操作を行います。
-
Google Cloud コンソールで、manage_search [ログ分析] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [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)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
-
クエリを実行するオブザーバビリティ ビューに対するオブザーバビリティ ビュー アクセサー (
_Traceという名前のオブザーバビリティ バケットのリンクされた BigQuery データセットが存在することを確認します。リンクされたデータセットが存在しない場合は、作成します。
BigQuery スロットでクエリを実行するように [オブザーバビリティ分析] ページを構成する予定で、Virtual Private Cloud(VPC)Service Controls でプロジェクトを使用している場合は、BigQuery の Enterprise Edition を使用していることを確認してください。詳細については、BigQuery のエディションについてをご覧ください。
BigQuery エンジンを使用する
[オブザーバビリティ分析] ページを使用しているときに BigQuery エンジンでクエリを実行するには、次の操作を行います。
-
Google Cloud コンソールで、manage_search [ログ分析] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
クエリを入力または読み込みます。詳細については、トレースのクエリと分析をご覧ください。
ツールバーに移動し、[BigQuery で実行] というボタンが表示されていることを確認します。
ツールバーに [クエリを実行] と表示されている場合は、[settings 設定] をクリックして [BigQuery] を選択します。
[BigQuery で実行] ボタンが無効になっている場合は、リンクされたデータセットがないことを示します。このエラーを解決するには、リンクされた BigQuery データセットを作成します。
[BigQuery で実行] をクリックします。