このドキュメントでは、Cloud Trace データのストレージ モデルについて説明します。オブザーバビリティ バケット、オブザーバビリティ ビュー、リンクについて説明します。リンクを作成すると、BigQuery からトレースデータをクエリできます。
このドキュメントでは、個々のスパンの保存方法を指定するスキーマについては説明しません。詳細については、トレース スキーマをご覧ください。
オブザーバビリティ ストレージ モデル
Observability API ストレージ モデルは、次のアーキテクチャに基づいています。
- オブザーバビリティ バケット
- オブザーバビリティ バケットは、データを保存するデータセットの管理エンティティです。オブザーバビリティ バケットは特定のロケーションにあり、データ保持ポリシーがあります。サービスが Observability API を使用してデータを保存すると、システムはサービスの名前、データを保存するデータセット、保存されたデータへの読み取りアクセスを提供するビューに基づいてオブザーバビリティ バケットを作成します。 Google Cloud たとえば、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 という名前のオブザーバビリティ バケットを作成しようとします。
アプリケーションが Google Cloud プロジェクトに Cloud Trace API または Telemetry API を使用して、トレースデータを送信する。
サービスで Cloud Trace を有効にすると、そのサービスが プロジェクトにトレースデータを送信する。 Google Cloud 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 でトレーススパンを分析する方法については、 トレースをクエリして分析するをご覧ください。