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