Google Cloud Observability 存储概览

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。
数据集
数据集用于存储数据。系统在创建可观测性存储桶时会自动创建一个数据集,用于管理该数据集。例如,当系统创建 _Trace 存储桶时,还会创建一个名为 Spans 的数据集,用于存储您的跟踪记录数据。如需了解数据集的结构,请参阅 Dataset。
数据集视图
每个数据集都包含一个或多个视图。视图提供对数据集中的部分条目的读取权限。系统在创建数据集时会创建一个视图。该视图包含数据集中的所有数据。 视图的名称取决于服务。例如,对于 Cloud Trace 服务,系统会在 Spans 数据集上创建一个名为 _AllSpans 的视图。如需了解视图的结构,请参阅 View。
数据集中的链接

每个数据集最多只能包含一个链接。为数据集创建链接时,系统会创建一个关联的 BigQuery 数据集。然后,您可以使用 BigQuery 或其他使用 BigQuery API 的服务查询数据集中的数据。如需了解链接的结构,请参阅 Link。

系统不会自动在数据集上创建链接。

例如,您的轨迹数据位于可观测性存储桶中的 Spans 数据集中。_Trace系统会在此数据集上创建一个 _AllSpans 视图,其中包含所有存储的 span。

可观测性存储桶的数据驻留

如果您有合规性或监管要求,需要将数据存储在特定位置或使用客户管理的加密密钥 (CMEK),那么我们建议您同时为可观测性存储桶配置组织政策和默认设置。

对于组织、文件夹和项目,可观测性存储桶的默认设置可让您配置以下内容:

  • 默认存储位置。
  • 每个位置的默认 Cloud Key Management Service 密钥。

系统会通过两种不同的方式使用默认设置:

  • 当系统自动创建可观测性存储桶时,会使用默认设置来确定存储桶的位置和加密密钥。如果您未定义默认设置,则系统会选择位置,并且存储桶会使用 Google 默认加密。

  • 当您通过发出 API 请求来启动可观测性存储桶的创建时,需要提供位置。不过,除非 API 请求的实参指定了密钥,否则系统会自动使用默认设置定义的 Cloud KMS 密钥来加密数据。

由于可观测性存储桶的父级始终是项目,因此当您创建存储桶时,系统会先搜索项目级默认设置。如果这些设置不存在,系统会搜索父级的祖先以查找默认设置。例如,如果您为某个文件夹定义了默认设置,则这些设置会应用于该文件夹的后代,但已配置默认设置的后代除外。

您还可以使用组织政策来限制新可观测性存储桶的位置、要求使用 CMEK 或限制哪些 Cloud KMS 密钥可用于加密。如果您配置了要求使用 CMEK 的组织政策,则必须为可观测性存储桶配置默认设置。否则,为系统创建的可观测性存储桶预配资源会失败。

如需了解详情,请参阅为可观测性分桶设置默认值。

限制

您无法执行以下操作:

  • 修改或删除可观测性存储桶。
  • 创建、删除或修改数据集。
  • 创建、删除或修改视图。
  • 使用 Google Cloud 控制台列出存储桶、数据集、视图或链接。

后续步骤