本文档介绍了 Cloud Trace 数据的存储模型。它引入了可观测性存储分区、可观测性视图和链接。如果您创建关联,则可以从 BigQuery 查询轨迹数据。
本文档未介绍用于指定如何存储各个 span 的架构。如需了解详情,请参阅轨迹架构。
可观测性存储模型
可观测性 API 存储模型依赖于以下架构:
- 可观测性存储分区
- 观测桶是用于存储数据的管理实体。可观测性存储桶位于特定位置,并具有数据保留政策。当 Google Cloud 服务使用 Observability API 存储其数据时,系统会根据服务名称创建一个可观测性存储桶、一个用于存储数据的数据集,以及一个用于提供对所存储数据的读取权限的视图。
例如,对于 Cloud Trace 服务,系统会将系统创建的存储桶命名为
_Trace,将数据集命名为Spans,并将视图命名为_AllSpans。如需了解可观测性分区的结构,请参阅Bucket。 - 数据集
- 数据集用于存储数据。系统在创建可观测性存储桶时会自动创建一个数据集,用于管理该数据集。例如,当系统创建
_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 探索器页面查看跟踪记录数据,则说明名为 _Trace 的可观测性存储桶存在。如果您没有看到任何数据,或者看到一条横幅,指出存储空间未初始化,请尝试执行以下操作之一:
可观测性分区的数据驻留
如果您有合规性或监管要求,需要将数据存储在特定位置或使用 CMEK,则建议您为可观测性存储分区配置默认设置:
对于组织、文件夹和项目,可观测性存储分区的默认设置可让您配置以下内容:
- 默认存储位置。
- 每个位置的默认 Cloud Key Management Service 密钥。
资源层次结构中的后代会自动使用这些设置,除非您已为这些后代配置默认设置。
可观测性存储分区的默认设置仅适用于新资源,而不适用于现有资源。 如需了解详情,请参阅为可观测性存储分区设置默认值。
可观测性存储分区设置的默认设置不适用于存储日志数据的日志存储分区。如需了解如何设置默认位置或要求为日志存储分区启用 CMEK,请参阅为 Cloud Logging 配置默认资源设置。
限制
您无法执行以下操作:
- 修改或删除可观测性分桶。
- 创建、删除或修改数据集。
- 创建、删除或修改视图。
- 使用 Google Cloud 控制台列出存储分区、数据集、视图或链接。
后续步骤
如需了解如何管理轨迹数据的存储空间,请参阅管理轨迹存储空间。
如需详细了解如何使用 Trace 探索器页面,请参阅查找和探索跟踪记录。
如需了解如何使用 SQL 分析跟踪记录 span,请参阅查询和分析跟踪记录。