将日志区域化

本页面介绍如何将日志存储在指定区域的 Cloud Logging 存储桶中。如需查看受支持区域的列表,请参阅位置

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

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

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

  3. 在 Logs Explorer 中搜索日志。

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

概览

在 Logging 中,日志存储桶是区域资源:用于存储、索引和搜索日志的基础架构位于特定的地理位置。Google 管理着该基础架构,以便您的应用在该区域内的各可用区之间以冗余方式提供。

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

主要概念

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

日志路由器位置

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

日志路由器会在接收日志的区域处理日志。如果您选择与其他 Google 服务(例如 Security Command Center 威胁检测)共享日志数据,日志路由器可能会根据接收器的定义将日志发送到其他区域。接收器以同等方式应用于各日志,与所在区域无关。

日志存储桶位置

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

对于每个 Google Cloud 项目、结算帐号、文件夹和组织,Logging 都会自动创建两个日志存储分区:_Required_Default,它们设置为 global 位置。您无法更改现有存储分区的位置。但是,您的组织可以创建一项政策,为这些存储分区设置不同的默认位置。如需了解详情,请参阅为组织配置默认设置

您还可以为任何 Google Cloud 项目创建用户定义的存储分区。创建用户定义的存储桶时,可以指定一个位置 region,用于存储其日志数据。创建存储桶后,该位置无法更改,但您可以创建新存储桶,并使用接收器将日志定向到该存储桶。如需了解如何为存储分区设置区域,请参阅对日志进行区域化

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 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer

    前往 Logs Explorer

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

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

在 Google Cloud 控制台中搜索日志

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

  1. 在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer

    前往 Logs Explorer

  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

后续步骤