本文档介绍了如何使用 _Default
接收器将日志条目路由到特定区域的 Cloud Logging 存储桶。如需查看受支持区域的列表,请参阅位置。
您还可以通过为组织或文件夹配置默认设置,为新的 _Default
和 _Required
存储分区设置默认存储位置。如需了解详情,请参阅设置默认存储位置。
本指南通过将所有日志重定向到 europe-west1 区域的示例,引导您完成此过程。 此过程包括以下步骤:
在指定区域中创建日志存储桶以存储日志。
重定向
_Default
接收器以将日志路由到新的日志存储桶。在日志浏览器中搜索日志。
(可选)更新日志保留期限。
概览
在 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 项目中创建存储桶,请完成以下步骤:
-
转到 Google Cloud 控制台:
在终端中,运行以下命令创建一个存储桶,并将粗体部分替换为您自己的信息:
gcloud logging buckets create region-1-logs-bucket \ --location=europe-west1 \ --project=logs-test-project
验证存储桶是否已创建:
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"
创建日志条目以测试接收器
如要验证您是否正确更新接收器,请完成以下步骤:
使用
gcloud logging write
命令向区域化存储桶发送测试日志消息,然后等待几分钟。例如:gcloud logging write TEST_LOG_NAME "Test to route logs to region-1-logs-bucket" --project=logs-test-project
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
在日志字段窗格中,选择全球性资源类型。
您的测试日志条目会显示在查询结果面板中。
在 Google Cloud 控制台中搜索日志
在上一部分中设置权限后,请前往 Google Cloud 控制台并完成以下步骤:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
选择优化范围。
在优化范围面板上,选择按存储确定范围。
选择 region-1-logs-bucket。
点击应用。
日志浏览器会刷新,以显示存储桶中的日志。
如需了解如何使用日志浏览器,请参阅使用日志浏览器。
[可选] 更新存储桶的日志保留期限
如需更改存储桶中日志的保留期限,请运行以下命令:
gcloud logging buckets update region-1-logs-bucket \
--location=europe-west1 --project=logs-test-project \
--retention-days=14
后续步骤
阅读以下白皮书以了解数据治理的最佳做法: