Observability Analytics に移行する

シンクを使用してトレースデータを BigQuery にエクスポートしている場合は、このドキュメントが適用されます。シンクを使用してトレースデータをエクスポートすることはおすすめしません。代わりに、BigQuery と同じ SQL クエリ言語をサポートする Observability Analytics を使用することをおすすめします。このドキュメントでは、シンクベースのソリューションから Observability Analytics を使用するソリューションに移行する方法について説明します。また、BigQuery サービスを使用してトレースデータをクエリする方法についても説明します。

BigQuery には、テーブルのコピーやデータのエクスポートを行うためのサービスが用意されています。リンクされた 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

  8. [オブザーバビリティ分析] ページの読み込み、クエリの実行、リンクされたデータセットの作成に必要な権限を取得するには、プロジェクトに対する次の IAM ロールの付与を管理者に依頼してください。

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

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

  9. Google Cloud コンソールで Cloud Shell をアクティブにします。

    Cloud Shell をアクティブにする

    Google Cloud コンソールの下部にある Cloud Shell セッションが開始し、コマンドライン プロンプトが表示されます。Cloud Shell はシェル環境です。Google Cloud CLI がすでにインストールされており、現在のプロジェクトの値もすでに設定されています。セッションが初期化されるまで数秒かかることがあります。

Observability Analytics に移行する

  1. このドキュメントの始める前にセクションに記載されている操作を完了している。これらのアクションには、Observability API の有効化が含まれます。

  2. オブザーバビリティ分析を使用して、トレースデータにアクセスできることを確認します。

    1. Google Cloud コンソールで、 [オブザーバビリティ分析] ページに移動します。

      [オブザーバビリティ分析] に移動

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

    2. [ビュー] メニューで、[ トレース] セクションに移動し、[_Trace.Spans._AllSpans] を選択します。

      [スキーマ] ペインが更新され、スキーマが表示されます。

      _Trace.Spans._AllSpans という名前のビューが表示されない場合、Google Cloud プロジェクトには _Trace という名前のオブザーバビリティ バケットが含まれていません。この状況の解決方法については、トレース ストレージの初期化が失敗するをご覧ください。

    3. [スキーマ] ペインで [クエリ] を選択します。

      クエリエディタ フィールドが更新されます。FROM 句には、次のようなエントリがリストされます。

      `PROJECT_ID.us._Trace.Spans._AllSpans`
      
    4. ツールバーで、[クエリを実行] を選択します。

      ツールバーに [BigQuery で実行] と表示されている場合は、[ 設定] をクリックして、[分析(デフォルト)] を選択します。

    オブザーバビリティ分析ページを使用してトレースデータをクエリできることを確認した。

  3. 省略可: トレースデータを BigQuery で利用可能な他のビジネスデータと結合する場合は、リンクされた BigQuery データセットを作成します。詳細については、リンクされた BigQuery データセットに対してクエリを実行するをご覧ください。

  4. トレースシンクと不要なデータセットを削除します。

    1. 既存のトレースシンクを一覧表示するには、gcloud alpha trace sinks list コマンドを実行します。

      gcloud alpha trace sinks list
      
    2. シンクごとに、gcloud alpha trace sinks delete コマンドを実行します。

      gcloud alpha trace sinks delete SINK_NAME
      
    3. 省略可: 不要な 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 データ型があります。例:

  • attributes["somekey"]
  • resource.attributes["somekey"]
  • instrumentation_scope.attributes["somekey"]

すべての属性で同じ形式 span.attributes.attributeMap.ATTRIBUTE_KEY を使用します。

例:

  • span.attributes.attributeMap._http_method
  • span.attributes.attributeMap.g_co_agent
  • span.attributes.attributeMap.rpc_service
  • span.attributes.attributeMap.rpc_method

次のステップ