シンクを使用してトレースデータを BigQuery にエクスポートしている場合は、このドキュメントが適用されます。シンクを使用してトレースデータをエクスポートすることはおすすめしません。代わりに、BigQuery と同じ SQL クエリ言語をサポートする Observability Analytics を使用することをおすすめします。このドキュメントでは、シンクベースのソリューションから Observability Analytics を使用するソリューションに移行する方法について説明します。また、BigQuery サービスを使用してトレースデータをクエリする方法についても説明します。
BigQuery には、テーブルのコピーやデータのエクスポートを行うためのサービスが用意されています。リンクされた 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.-
[オブザーバビリティ分析] ページの読み込み、クエリの実行、リンクされたデータセットの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。
- Cloud Trace 管理者 (
roles/cloudtrace.admin) - オブザーバビリティ編集者 (
roles/observability.editor) - BigQuery ユーザー(
roles/bigquery.user)
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
- Cloud Trace 管理者 (
-
Google Cloud コンソールで Cloud Shell をアクティブにします。
Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。
Observability Analytics に移行する
このドキュメントの始める前にセクションに記載されている操作を完了している。これらのアクションには、Observability API の有効化が含まれます。
オブザーバビリティ分析を使用して、トレースデータにアクセスできることを確認します。
-
Google Cloud コンソールで、manage_search [オブザーバビリティ分析] ページに移動します。
検索バーを使用してこのページを検索する場合は、小見出しが [Logging] の結果を選択します。
[ビュー] メニューで、[
トレース] セクションに移動し、[_Trace.Spans._AllSpans] を選択します。[スキーマ] ペインが更新され、スキーマが表示されます。
_Trace.Spans._AllSpansという名前のビューが表示されない場合、Google Cloud プロジェクトには_Traceという名前のオブザーバビリティ バケットが含まれていません。この状況の解決方法については、トレース ストレージの初期化が失敗するをご覧ください。[スキーマ] ペインで [クエリ] を選択します。
クエリエディタ フィールドが更新されます。
FROM句には、次のようなエントリがリストされます。`PROJECT_ID.us._Trace.Spans._AllSpans`ツールバーで、[クエリを実行] を選択します。
ツールバーに [BigQuery で実行] と表示されている場合は、[settings 設定] をクリックして、[分析(デフォルト)] を選択します。
オブザーバビリティ分析ページを使用してトレースデータをクエリできることを確認した。
-
省略可: トレースデータを BigQuery で利用可能な他のビジネスデータと結合する場合は、リンクされた BigQuery データセットを作成します。詳細については、リンクされた BigQuery データセットに対してクエリを実行するをご覧ください。
トレースシンクと不要なデータセットを削除します。
既存のトレースシンクを一覧表示するには、
gcloud alpha trace sinks listコマンドを実行します。gcloud alpha trace sinks listシンクごとに、
gcloud alpha trace sinks deleteコマンドを実行します。gcloud alpha trace sinks delete SINK_NAME省略可: 不要な BigQuery データセットを削除します。BigQuery データセットを削除する方法については、データセットを削除するをご覧ください。
スキーマの比較
このセクションでは、オブザーバビリティ分析とシンクベースのエクスポート スキーマの違いについて説明します。
| 名前 | アナリティクス | レガシー |
|---|---|---|
| トレース ID | trace_id |
extendedFields.traceId |
| スパン ID | span_id |
span.spanId |
| 親スパン ID | parent_span_id |
span.parentSpanId |
| スパン名 | name |
span.displayName.value |
| スパンの種類 | kind値については、OpenTelemetry: SpanKind をご覧ください。 |
span.spanKind値については、Cloud Trace API リファレンスの SpanKind ページをご覧ください。 |
| スパンの開始時刻 | start_time |
span.startTime |
| スパンの終了時刻 | end_time |
span.endTime |
| 属性 | スパン、リソース、計測属性にはそれぞれ固有の形式があります。これらのフィールドには、BigQuery の JSON データ型があります。例:
|
すべての属性で同じ形式 例:
|