对日志进行区域化

本文档介绍了如何使用 _Default 接收器来路由日志 特定区域的 Cloud Logging 存储桶中。对于列表 请参阅位置

您还可以为新的 _Default_Required 设置默认存储位置 存储分区。对于 更多信息, 请参阅设置默认存储位置

本指南通过将所有日志重定向到 europe-west1 区域的示例,引导您完成此过程。 此过程包括以下步骤:

  1. 在指定区域中创建日志存储桶以存储日志。

  2. 重定向 _Default 接收器以将日志路由到新的日志存储桶。

  3. 在日志浏览器中搜索日志。

  4. (可选)更新日志保留期限。

概览

在 Logging 中,日志存储桶是区域资源:用于存储、索引和搜索日志的基础架构位于特定的地理位置。Google Cloud 管理基础架构,确保应用以冗余方式提供 多个区域之间的资源

您的组织可能需要将其日志数据存储在特定区域中。在选择存储日志的区域时,主要的考虑因素包括满足您的组织的延迟时间、可用性或合规性要求。为日志存储选择区域时,请考虑您的应用使用的其他 Google Cloud 产品和服务的位置。

主要概念

以下主要概念适用于 Logging 的数据区域性。

日志路由器位置

日志路由器会处理写入 Cloud Logging API 的所有日志条目。它会根据现有规则检查每个日志条目,从而确定在 Logging 存储桶中存储哪些日志条目以及使用接收器将哪些日志条目路由到受支持的目标位置。为了可靠地路由日志, 日志路由器也会临时存储日志,这些日志会根据临时数据 任何接收器上的服务中断

日志路由器会在接收日志的区域中处理日志。 日志路由器可能会根据接收器的特征将日志发送到其他区域 或者,如果您选择了 Google Cloud 服务 Security Command Center 威胁检测。 无论位于哪个区域,接收器都会以同等方式应用于日志。

日志存储分区位置

日志存储分区是存储分区中的容器 Google Cloud 项目、结算账号、文件夹和组织,用于存储和 整理日志数据

对于每个 Google Cloud 项目、结算账号、文件夹和组织, Logging 会自动创建两个日志存储分区:_Required_Default,位于 global 位置。 您无法更改现有存储分区的位置。 不过,您的组织可以创建政策 以便为这些存储分区设置不同的默认位置。如需更多信息 请参阅 为组织和文件夹配置默认设置

您还可以为任意对象创建用户定义的日志存储分区, Google Cloud 项目。创建用户定义的日志存储桶时,可以执行以下操作: 指定日志存储桶的位置。创建日志存储桶后, 位置无法更改,但您可以创建一个新的存储桶,然后 使用接收器将日志条目导出到新的日志存储桶。要了解如何设置 存储分区的存储位置,请参阅 对日志进行区域化

Logging 支持同时查询多个区域的 在这种情况下,查询会在与存储分区中的存储分区相同的位置 并在收到查询的区域进行汇总,以返回 结果。

准备工作

如要完成本指南中的步骤,您需要知晓以下内容:

  • 您想在哪个 Google Cloud 项目中存储日志?在本指南中, 请使用名为 logs-test-project 的 Google Cloud 项目。

  • 您希望存储日志的日志存储桶的名称是什么?位置在哪里?在本指南中,存储桶名称为 region-1-logs-bucket,位置为 europe-west1

  • 您想要包含哪些日志?在本指南中,包含由 _Default 接收器路由的所有日志。

支持的区域

创建日志存储桶时,您可以选择日志的存储位置。 如需查看受支持区域的列表,请参阅位置

创建日志存储桶

日志存储桶用于存储从其他 Google Cloud 项目、文件夹或组织路由的日志。如需了解详情,请参阅 配置日志存储分区

在您要存储日志的 Google Cloud 项目中创建存储桶 请完成以下步骤:

  1. 转到 Google Cloud 控制台:

    前往 Google Cloud 控制台

  2. 在终端中,运行以下命令创建一个存储分区,并将粗体部分替换为您自己的信息:

     gcloud logging buckets create region-1-logs-bucket \
       --location=europe-west1 \
       --project=logs-test-project
    
  3. 验证存储分区是否已创建:

    gcloud logging buckets list --project=logs-test-project
    

重定向“_Default”日志接收器

您可以通过创建接收器将日志路由到日志存储桶。接收器包含过滤条件(用于选择要通过接收器导出的日志条目)以及目标位置。在本指南中,我们更新了现有的 _Default 接收器,以将日志路由到我们的存储分区 region-1-logs-bucket

如要更新接收器,请运行以下命令,并将粗体部分替换为您自己的信息:

gcloud logging sinks update _Default \
  logging.googleapis.com/projects/logs-test-project/locations/europe-west1/buckets/region-1-logs-bucket \
  --log-filter='NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT
    LOG_ID("externalaudit.googleapis.com/activity") AND NOT
    LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT
    LOG_ID("externalaudit.googleapis.com/system_event") AND NOT
    LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT
    LOG_ID("externalaudit.googleapis.com/access_transparency")' \
  --description="Updated the _Default sink to route logs to the europe-west1 region"

创建日志条目以测试接收器

如要验证您是否正确更新接收器,请完成以下步骤:

  1. 使用 gcloud logging write 命令将测试日志消息发送到区域化存储桶,然后 等待几分钟。例如:

    gcloud logging write TEST_LOG_NAME "Test to route logs to region-1-logs-bucket" --project=logs-test-project
    
  2. 在 Google Cloud 控制台中,转到 Logs Explorer 页面。

    前往 Logs Explorer

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  3. 日志字段窗格中,选择全球性资源类型。

  4. 您的测试日志条目会显示在查询结果面板中。

在 Google Cloud 控制台中搜索日志

在上一部分中设置权限后,请前往 Google Cloud 控制台,然后完成以下步骤:

  1. 在 Google Cloud 控制台中,转到 Logs Explorer 页面。

    前往 Logs Explorer

    如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。

  2. 选择优化范围

  3. 优化范围面板上,选择按存储确定范围

  4. 选择 region-1-logs-bucket

  5. 点击应用

  6. 日志浏览器会刷新,以显示存储分区中的日志。

    如需了解如何使用日志浏览器,请参阅使用日志浏览器

[可选] 更新存储分区的日志保留期限

如需更改存储分区中日志的保留期限,请运行以下命令:

gcloud logging buckets update region-1-logs-bucket \
  --location=europe-west1 --project=logs-test-project \
  --retention-days=14

后续步骤