Google Cloud Observability 会将 Cloud Logging、Cloud Monitoring 和 Cloud Trace 中的遥测数据存储在结构化存储容器中并进行整理。了解存储模型有助于您配置数据驻留、强制执行加密政策,以及将遥测数据连接到 BigQuery 等分析服务。
日志数据
日志数据存储在日志存储分区中,这类存储分区是 Logging 用于存储日志数据的容器。每个 Google Cloud 项目、结算账号、文件夹和组织都包含名为 _Required 和 _Default 的日志存储分区。
默认情况下,日志数据位于数据源自的 Google Cloud 项目、结算账号、文件夹或组织中。不过,您可以配置 Logging,将日志数据从其来源资源路由到其他位置,例如其他项目或集中式日志存储桶。如需了解详情,请参阅存储日志条目和路由日志条目。
借助 Cloud Logging,您可以对日志数据进行区域化:
- 组织政策可以限制新日志存储分区的位置,并要求日志存储分区使用客户管理的加密密钥 (CMEK)。
对于组织和文件夹,Cloud Logging 的默认资源设置可让您配置以下内容:
- 新
_Required和_Default日志存储分区的位置。 - 用于加密日志数据的 KMS 密钥。
- 默认接收器的配置。
资源层次结构中的后代会自动继承这些设置,除非它们也配置了默认资源设置。例如,如果您为某个组织配置 Cloud Logging 的默认资源设置,则该组织资源层次结构中的所有文件夹和项目都会自动继承这些设置。不过,如果您为相应组织中的某个文件夹设置了 Cloud Logging 的默认资源设置,则系统会使用文件夹级设置。
Cloud Logging 的默认资源设置仅适用于新资源,不适用于现有资源。如需了解详情,请参阅为 Cloud Logging 配置默认资源设置。
- 新
指标数据
指标数据位于数据源自的 Google Cloud 项目中。
如需了解存储政策,请参阅监控的数据驻留。
跟踪记录数据
轨迹数据存储在由名为 _Trace 的可观测性存储桶管理的数据集中。用于存放数据集的 _Trace 存储桶必须存在。
_Trace 存储桶可以自动或手动创建:
自动创建:系统会在收到来自应用或 Google Cloud 服务的轨迹数据后自动创建相应存储桶。系统会使用适用的可观测性存储桶默认设置来确定存储桶的位置和加密密钥。如果您尚未定义默认设置,则系统会选择一个受支持的位置,并且存储桶会使用 Google 默认加密。
由 Cloud Run functions、Cloud Run 和 App Engine 生成的跟踪数据不会导致系统创建可观测性存储桶。仅当可观测性存储桶存在时,才会存储来自这些服务的 span。
手动创建:您可以使用 Observability API 在 Google Cloud 项目收到轨迹数据之前创建
_Trace存储桶。您必须提供相应存储桶的位置。您可以提供 Cloud Key Management Service 密钥:- 如果您提供密钥,系统会使用该密钥对存储的数据进行加密。
- 如果您未提供 Cloud KMS 密钥,则适用于相应存储桶父资源的默认设置将决定加密密钥。如果默认设置指定了 Cloud KMS 密钥,则该密钥会加密存储的数据。 否则,将使用 Google 默认加密。
创建 _Trace 存储桶时,系统还会为该存储桶创建一个名为 Spans 的数据集,并在该数据集上创建一个名为 _AllSpans 的视图。该视图包含数据集中的所有数据。
详情请参阅以下内容:
可观测性存储模型
Observability 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”数据集中。系统会在相应数据集上创建一个包含所有已存储 span 的“_AllSpans”视图。
可观测性分区的数据驻留
如果您有合规性或监管要求,需要将数据存储在特定位置或使用客户管理的加密密钥 (CMEK),那么我们建议您同时为可观测性存储分区配置组织政策和默认设置。
对于组织、文件夹和项目,可观测性存储分区的默认设置可让您配置以下内容:
- 默认存储位置。
- 每个位置的默认 Cloud Key Management Service 密钥。
系统会通过两种不同的方式使用默认设置:
当系统自动创建可观测性存储桶时,会使用默认设置来确定存储桶的位置和加密密钥。如果您尚未定义默认设置,则系统会选择位置,并且存储桶会使用 Google 默认加密。
当您通过发出 API 请求来启动可观测性存储桶的创建时,需要提供位置。不过,除非 API 请求的实参指定了密钥,否则系统会自动使用默认设置定义的 Cloud KMS 密钥来加密数据。
由于可观测性存储桶的父级始终是项目,因此当您创建存储桶时,系统会先搜索项目级默认设置。如果这些不存在,系统会搜索父级的祖先以查找默认设置。例如,如果您为某个文件夹定义了默认设置,那么这些设置将应用于该文件夹的后代,但已配置默认设置的后代除外。
您还可以使用组织政策来限制新可观测性存储分区的位置、要求使用 CMEK 或限制哪些 Cloud KMS 密钥可用于加密。如果您配置的组织政策要求使用 CMEK,则必须为可观测性存储分区配置默认设置。否则,系统创建的可观测性存储分区的配置会失败。
如需了解详情,请参阅为可观测性存储分区设置默认值。限制
您无法执行以下操作:
- 修改或删除可观测性分桶。
- 创建、删除或修改数据集。
- 创建、删除或修改视图。
- 使用 Google Cloud 控制台列出存储分区、数据集、视图或链接。