トレースのクエリと分析

このドキュメントでは、SQL ベースのクエリ インターフェースを提供する Observability Analytics を使用して、トレースデータをクエリして分析する方法について説明します。SQL を使用すると、集計分析を実行して、分析情報を生成し、傾向を特定できます。クエリ結果を表示するには、表またはグラフを使用します。 これらの表とグラフは、カスタム ダッシュボードに保存することもできます。

個々のトレースやスパンを表示または調査する場合や、スパンにアタッチされている属性を表示する場合は、[Trace Explorer] ページを使用します。このページの詳細については、 トレースを検索して調査するをご覧ください。

トレースデータを分析するには、_AllSpans という名前のデフォルト ビューに対してクエリを実行します。 このビューには、プロジェクトによって保存されたすべてのトレースデータが含まれます。対応するオブザーバビリティ バケットの名前は _Trace です。トレースデータの保存方法の詳細については、トレース ストレージの概要をご覧ください。

リンクされた BigQuery データセットについて

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

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

このドキュメントでは、リンクされた BigQuery データセットを作成する方法や、予約済みスロットでクエリを実行するように Observability Analytics を構成する方法については説明しません。 これらのトピックについては、 リンクされた BigQuery データセットを作成するをご覧ください。

始める前に

  1. アカウントにログインします。 Google Cloud を初めて使用する場合は、 アカウントを作成して、実際のシナリオで Google プロダクトのパフォーマンスを評価してください。 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 serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). 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 serviceusage.services.enable permission. If you created the project, then you likely already have this permission through the Owner role (roles/owner). Otherwise, you can get this permission through the Service Usage Admin role (roles/serviceusage.serviceUsageAdmin). Learn how to grant roles.

    Enable the API

  8. トレースデータに対して非公開クエリを作成、実行、保存するために必要な権限を取得するには、[Observability Analytics] ページを読み込み、 次の IAM ロールを付与するよう管理者に依頼します。

    • オブザーバビリティ閲覧アクセサー roles/observability.viewAccessor) クエリするオブザーバビリティ ビューに対する。このロールは IAM 条件をサポートしており、特定のビューへの付与を制限できます。ロール付与に条件をアタッチしない場合、プリンシパルはすべてのオブザーバビリティ ビューにアクセスできます。
    • プロジェクトに対する オブザーバビリティ分析ユーザーroles/observability.analyticsUser。このロールには、非公開クエリの保存と実行、共有クエリの実行に必要な権限が含まれています。

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

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

スキーマを表示する

スキーマは、フィールドとそのデータ型を含むデータの保存方法を定義します。クエリするフィールドと、フィールドを別のデータ型にキャストする必要があるかどうかがスキーマによって決まるため、この情報は重要です。たとえば、HTTP リクエストの平均レイテンシを計算するクエリを作成するには、レイテンシ フィールドにアクセスする方法と、そのフィールドが整数(100 など)として保存されるか、文字列("100" など)として保存されるかを把握しておく必要があります。レイテンシ データが文字列として保存される場合、クエリでは平均を計算する前に値を数値に型変換する必要があります。

スキーマを特定するには、次の操作を行います。

  1. コンソールで、 [Observability Analytics] ページに移動します。 Google Cloud

    Observability Analytics に移動

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

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

    [スキーマ] ペインが更新されます。データ型が JSON の場合、Observability Analytics は列のフィールドを自動的に推測します。 これらの推定フィールドがデータに出現する頻度を確認するには、 [オプション] をクリックして、 [情報と説明を表示] を選択します。

    スキーマの詳細については、 トレースデータのストレージ スキーマをご覧ください。

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

トレースデータをクエリする

このセクションでは、トレースデータのクエリに使用できるアプローチについて説明します。

  • システム定義のクエリを読み込み、このクエリを編集して実行する。
  • カスタムクエリを入力して実行する。たとえば、既存のクエリを貼り付けたり、クエリを作成したりできます。カスタムクエリには、結合、ネストされたクエリ、その他の複雑な SQL ステートメントを含めることができます。例については、サンプル SQL クエリをご覧ください。
  • メニューから選択してクエリを作成し、そのクエリを実行する。 Observability Analytics では、選択内容が SQL クエリに変換されます。このクエリは表示、編集できます。

システム定義クエリを読み込み、編集、実行する

  1. コンソールで、 [Observability Analytics] ページに移動します。 Google Cloud

    Observability Analytics に移動