本文档介绍了 Cloud Trace 数据的存储模型。它引入了可观测性存储分区、可观测性视图和链接。如果您创建关联,则可以从 BigQuery 查询轨迹数据。
本文档未介绍用于指定如何存储各个 span 的架构。如需了解详情,请参阅轨迹架构。
可观测性存储模型
可观测性 API 存储模型依赖于以下架构:
- 可观测性存储分区
- 观测桶是用于存储数据的管理实体。可观测性存储桶位于特定位置,并具有数据保留政策。当 Google Cloud 服务使用 Observability API 存储其数据时,系统会根据该服务的名称创建一个可观测性存储桶。例如,对于 Cloud Trace 服务,系统创建的存储桶名为
_Trace。如需了解可观测性分区的结构,请参阅Bucket。 - 数据集
- 数据集是一种存储实体。每个数据集都是可观测性存储桶的子级。当系统为 Google Cloud 服务创建可观测性存储桶时,还会创建一个数据集。例如,在系统创建
_Trace存储桶后,它会创建名为Spans的数据集。该数据集用于存储您的轨迹数据。如需了解数据集的结构,请参阅Dataset。 - 数据集视图
- 每个数据集都包含一个或多个视图。视图提供对数据集中的部分条目的读取权限。创建数据集时,系统会自动创建一个视图。该视图包含数据集中的所有数据。
视图的名称取决于服务。例如,对于 Cloud Trace 服务,系统会在
Spans数据集上创建一个名为_AllSpans的视图。如需了解视图的结构,请参阅View。 - 数据集中的链接
每个数据集最多只能包含一个链接。为数据集创建关联后,系统会创建一个关联的 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 生成的轨迹数据不会导致系统创建可观测性存储桶。仅当可观测性存储桶存在时,才会存储来自这些服务的 span。
如需确定名为 _Trace 的可观测性存储桶是否存在,或触发创建此存储桶的流程,请执行以下操作:
-
在 Google Cloud 控制台中,前往
Trace 探索器页面:
您也可以使用搜索栏查找此页面。
执行下列其中一项操作:
如果该网页显示了轨迹数据,则您无需执行任何操作。您的Google Cloud 项目包含一个名为
_Trace的可观测性存储桶。如果该页面显示以下横幅,则表示您的应用没有任何跟踪数据,或者只有来自 Cloud Run functions、Cloud Run 和 App Engine 的数据。
Trace storage is not initialized for this project. Enable trace storage to begin collecting trace data.如果您想触发一个创建名为
_Trace的可观测性存储桶的流,请前往横幅并点击启用。如果网页显示以下横幅,则表示名为
_Trace的可观测性存储桶的初始化失败。如果您看到此消息,请前往横幅并点击提交工单。Initializing trace storage has failed for an unexpected reason. Please file a support ticket for assistance.
限制
您无法执行以下操作:
- 修改或删除可观测性分桶。
- 创建、删除或修改数据集。
- 创建、删除或修改视图。
- 使用 Google Cloud 控制台列出存储分区、数据集、视图或链接。
- 在
us以外的位置创建可观测性存储桶;可观测性存储桶必须位于us位置。