このドキュメントでは、Cloud Trace データのストレージ モデルについて説明します。オブザーバビリティ バケット、オブザーバビリティ ビュー、リンクが導入されています。リンクを作成すると、BigQuery からトレースデータをクエリできます。
このドキュメントでは、個々のスパンの保存方法を指定するスキーマについては説明しません。詳細については、トレース スキーマをご覧ください。
オブザーバビリティ ストレージ モデル
Observability API ストレージ モデルは、次のアーキテクチャに依存しています。
- オブザーバビリティ バケット
- オブザーバビリティ バケットは、データを保存するデータセットの管理エンティティです。オブザーバビリティ バケットは特定の場所にあり、データ保持ポリシーが設定されています。 Google Cloud サービスが Observability API を使用してデータを保存すると、システムはサービス名に基づいてオブザーバビリティ バケット、データを保存するデータセット、保存されたデータへの読み取りアクセスを提供するビューを作成します。たとえば、Cloud Trace サービスの場合、システムが作成したバケットの名前は
_Trace、データセットの名前はSpans、ビューの名前は_AllSpansになります。オブザーバビリティ バケットの構造については、Bucketをご覧ください。 - データセット
- データセットはデータを保存します。システムは、オブザーバビリティ バケットを作成するときに、データセットを管理するデータセットを 1 つ自動的に作成します。たとえば、システムが
_Traceバケットを作成すると、トレースデータを保存するSpansという名前のデータセットも作成されます。データセットの構造については、Datasetをご覧ください。 - データセットのビュー
- 各データセットは 1 つ以上のビューをホストします。ビューは、データセット内のエントリのサブセットに対する読み取りアクセスを提供します。データセットの作成時に、システムは 1 つのビューを作成します。このビューには、データセット内のすべてのデータが含まれます。ビューの名前はサービスによって異なります。たとえば、Cloud Trace サービスの場合、システムは
Spansデータセットに_AllSpansという名前のビューを作成します。ビューの構造については、Viewをご覧ください。 - データセットのリンク
各データセットに含めることができるリンクは 1 つだけです。データセットのリンクを作成すると、リンクされた BigQuery データセットが作成されます。その後、BigQuery または BigQuery API を使用する他のサービスを使用して、データセット内のデータに対してクエリを実行できます。リンクの構造については、
Linkをご覧ください。システムはデータセットにリンクを自動的に作成しません。
トレースデータのストレージ構成
トレースデータは、_Trace という名前のオブザーバビリティ バケットに保存されます。システムは、このバケットに Spans という名前のデータセットを作成します。このデータセットに、_AllSpans という名前のビューが作成されます。このビューには、データセット内のすべてのデータが含まれます。
バケットが存在せず、次のいずれかの条件が満たされている場合、システムは _Trace という名前のオブザーバビリティ バケットを作成しようとします。
アプリケーションは、Cloud Trace API または Telemetry API を使用して、トレースデータを Google Cloud プロジェクトに送信します。
Google Cloud サービスで Cloud Trace を有効にすると、そのサービスはトレースデータを Google Cloud プロジェクトに送信します。たとえば、Cloud Service Mesh はトレースの収集をサポートしていますが、トレースの収集はデフォルトで無効になっています。Cloud Service Mesh のトレースを有効にすると、そのサービスから送信されたデータによってシステムがバケットを作成します。
Cloud Run functions、Cloud Run、App Engine によって生成されたトレースデータは、システムがオブザーバビリティ バケットを作成する原因にはなりません。これらのサービスのスパンは、オブザーバビリティ バケットが存在する場合にのみ保存されます。
[Trace エクスプローラ] ページを使用してトレースデータを表示できる場合、_Trace という名前のオブザーバビリティ バケットが存在します。データが表示されない場合や、ストレージが初期化されていないことを示すバナーが表示される場合は、次のいずれかをお試しください。
オブザーバビリティ バケットのデータ所在地
特定の場所にデータを保存する、または CMEK を使用するコンプライアンス要件や規制要件がある場合は、オブザーバビリティ バケットのデフォルト設定を構成することをおすすめします。
組織、フォルダ、プロジェクトの場合、オブザーバビリティ バケットのデフォルト設定では、次の構成を行うことができます。
- デフォルトの保存場所。
- 各ロケーションのデフォルトの Cloud Key Management Service 鍵。
リソース階層内の子孫は、デフォルト設定を構成した子孫を除き、これらの設定を自動的に使用します。
オブザーバビリティ バケットのデフォルト設定は、新しいリソースにのみ適用され、既存のリソースには適用されません。詳細については、オブザーバビリティ バケットのデフォルトを設定するをご覧ください。
オブザーバビリティ バケット設定のデフォルト設定は、ログデータを保存するログバケットには適用されません。デフォルトのロケーションを設定する方法や、ログバケットに CMEK を要求する方法については、Cloud Logging のデフォルトのリソース設定を構成するをご覧ください。
制限事項
次のことはできません。
- オブザーバビリティ バケットを変更または削除します。
- データセットを作成、削除、変更します。
- ビューの作成、削除、変更を行います。
- Google Cloud コンソールを使用して、バケット、データセット、ビュー、またはリンクを一覧表示します。
次のステップ
トレースデータのストレージを管理する方法については、トレース ストレージを管理するをご覧ください。
[Trace エクスプローラ] ページの使用方法の詳細については、トレースを検索して調査するをご覧ください。
SQL を使用してトレース スパンを分析する方法については、トレースをクエリして分析するをご覧ください。