本文档介绍如何使用 Google Cloud 控制台、Google Cloud CLI 和 Logging API 创建和管理 Cloud Logging 存储分区。本页面还提供了有关在 Google Cloud 项目级创建和管理日志存储分区的说明。您无法在文件夹或组织级层创建日志存储分区;但是,Cloud Logging 会自动在文件夹和组织级层创建 _Default
和 _Required
存储分区。
您可以升级日志存储分区以使用 Log Analytics。借助 Log Analytics,您可以对日志数据运行 SQL 查询,以便排查应用、安全和网络问题。如果日志存储桶升级到使用 Log Analytics 以及存在关联的 BigQuery 数据集,您也可以使用 BigQuery 查看日志存储桶中存储的数据。通过创建关联的数据集,您可以将日志数据与 BigQuery 中存储的其他数据相联接,并访问 Looker Studio 和 Looker 等其他工具中的数据。
如需了解存储桶的概念性概览,请参阅路由和存储概览:日志存储桶。
准备工作
如需开始使用存储桶,请执行以下操作:
确保您已为 Google Cloud 项目启用结算功能。
确保您的 Identity and Access Management (IAM) 角色授予您创建、升级和关联存储分区所需的权限。
Logs Configuration Writer (
roles/logging.configWriter
) 角色是最小的预定义角色,可授予管理存储分区所需的权限。如需查看权限和角色的完整列表,请参阅使用 IAM 进行访问权限控制。请考虑设置默认资源位置,为组织中的
_Required
和_Default
存储分区应用默认存储区域。如需使用 BigQuery 查看存储在日志存储桶中的数据,请执行以下操作:
确保已启用 BigQuery API。您可以通过列出可用服务来验证该 API 是否已启用。
您的 Identity and Access Management 角色具备创建关联的数据集的权限。如需了解详情,请参阅关联的 BigQuery 数据集的权限。
如需了解如何创建使用 CMEK 的日志存储桶,请参阅为日志存储配置 CMEK。
创建存储桶
每个 Google Cloud 项目最多可以创建 100 个存储分区。
如需为 Google Cloud 项目创建用户定义的日志存储桶,请执行以下操作:
Google Cloud 控制台
如需在 Google Cloud 项目中创建日志存储桶,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
点击创建日志存储桶。
输入存储桶的名称和说明。
可选:升级您的存储桶以使用 Log Analytics。
选择升级以使用 Log Analytics。
升级存储桶以使用 Log Analytics 时,可以使用 SQL 查询在日志分析页面中查询日志。您还可以继续使用日志浏览器查看日志。
Log Analytics 仅支持部分区域。如需了解详情,请参阅支持的区域。
可选:如需在 BigQuery 中查看日志,请选择创建关联到此存储桶的新 BigQuery 数据集,并输入唯一的数据集名称。
选择此选项后,BigQuery 可以读取存储在日志存储桶中的数据。您现在可以在 BigQuery 界面中执行查询,并可在界面中联接日志数据,还可以访问其他工具(如 Looker Studio 和 Looker)中的数据。
可选:如需选择日志的存储区域,请点击选择日志存储桶区域菜单,然后选择一个区域。如果您未选择区域,则系统会使用
global
区域,这意味着日志可以位于任何区域。可选:如需为存储桶中的日志设置自定义保留期,请点击下一步。
在保留期限字段中,输入您希望 Cloud Logging 保留日志的天数(介于 1 天到 3650 天之间)。如果您不自定义保留期限,则默认值为
30 days
。您还可以在创建存储桶后更新存储桶以应用自定义保留。
点击创建存储桶。
创建日志存储桶后,Logging 会升级该存储桶并创建数据集链接(如果选择了这些选项)。
这些步骤可能需要一些时间才能完成。
gcloud
如需仅创建日志存储桶,请运行 gcloud logging buckets create
命令。如果要升级日志存储桶以使用 Log Analytics,请添加 --enable-analytics
和 --async
标志,并确保将变量 LOCATION 设置为 Log Analytics 支持的区域:
gcloud logging buckets create BUCKET_ID --location=LOCATION --enable-analytics --async OPTIONAL_FLAGS
--async
标志可强制命令为异步状态。异步方法的返回值是一个 Operation
对象,其中包含有关方法进度的信息。该方法运行完毕后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。
如果您不想升级日志存储桶以使用 Log Analytics,请省略 --enable-analytics
和 --async
标志。您可以将变量 LOCATION 设置为任何受支持的区域。
例如,如果要在 asia-east2
区域中创建具有 BUCKET_ID my-bucket
的存储桶,您的命令将如下所示:
gcloud logging buckets create my-bucket --location asia-east2 --description "My first bucket"
例如,如需创建一个 BUCKET_ID
my-upgraded-bucket
位于 us
位置的存储桶,然后升级该日志存储桶以使用 Log Analytics,您的命令应如下所示:
gcloud logging buckets create my-upgraded-bucket --location us \ --description "My first upgraded bucket" \ --enable-analytics --retention-days=45
API
如需创建存储桶,请使用 projects.locations.buckets.create
或 projects.locations.buckets.createAsync
方法。请按以下步骤准备方法的参数:
将
parent
参数设置为要在其中创建存储桶的资源:projects/PROJECT_ID/locations/LOCATION
变量 LOCATION 是指您希望存储日志的区域。Log Analytics 仅支持部分区域。如需了解详情,请参阅支持的区域。
例如,如果要在
asia-east2
区域中为项目my-project
创建存储桶,则parent
参数将如下所示:projects/my-project/locations/asia-east2
设置
bucketId
参数;例如my-bucket
。执行下列其中一项操作:
如需创建日志存储桶,然后升级日志存储桶以使用 Log Analytics,请执行以下操作:
将
LogBucket.analyticsEnabled
布尔值设置为true
。调用异步方法
projects.locations.buckets.createAsync
以创建存储桶。对异步方法的响应是一个
Operation
对象。该对象包含有关方法进度的信息。方法完成后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。createAsync
方法需要几分钟才能完成。当analyticsEnabled
布尔值设置为true
并且升级后的存储分区不支持该区域时,此方法不会生成错误消息,也不会失败。例如,如果将位置设置为asia-east2
,则系统会创建日志存储桶,但不会将该存储桶升级为使用 Log Analytics。
否则,请调用同步方法
projects.locations.buckets.create
来创建存储桶。
创建存储桶后,创建一个接收器以将日志条目路由到您的存储桶,并配置日志视图以控制谁可以访问新存储桶中的日志以及他们可以访问哪些日志。您还可以更新存储桶以配置自定义保留和受限字段。
跟踪日志存储分区中存储的日志量
Google Cloud 控制台中的日志存储页面可跟踪日志存储分区中存储的日志数据量:
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
日志存储页面会显示 Google Cloud 项目的统计信息摘要:
系统会报告以下统计信息:
当月提取量:自当前日历月的第一天以来,您的 Google Cloud 项目在日志存储分区中存储的日志数据量。
上月提取量:您的 Google Cloud 项目在上个日历月存储在日志存储分区中的日志数据量。
按 EOM 划分的预计提取量:根据当前使用情况,预计您的 Google Cloud 项目在当前日历月结束时将存储在日志存储分区中的日志数据量。
当月的计费存储空间:保留超过 30 天的已计费日志数据量。
先前的统计信息不包含 _Required
存储桶中的日志。无法排除或停用该存储桶中的日志。
Google Cloud 控制台中的日志路由器页面提供了一些工具,您可以利用这些工具最大程度减少在日志存储分区中存储日志或超出每月配额的存储产生的费用。您可以执行以下操作:
- 禁止在存储桶级别存储日志。
- 排除特定日志条目,使其不存储在日志存储分区中。
如需了解详情,请参阅管理接收器。
管理存储桶
本部分介绍如何使用 Google Cloud CLI 或 Google Cloud 控制台管理日志存储分区。
更新存储桶
如需更新存储桶的属性(例如说明或保留期限),请执行以下操作:
Google Cloud 控制台
如需更新存储桶的属性,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
对于要更新的存储桶,点击 more_vert 更多。
选择修改存储桶。
根据需要修改存储桶。
点击更新存储桶。
gcloud
如需更新存储桶的属性,请运行 gcloud logging buckets update
命令:
gcloud logging buckets update BUCKET_ID --location=LOCATION UPDATED_ATTRIBUTES
例如:
gcloud logging buckets update my-bucket --location=global --description "Updated description"
API
如需更新存储桶的属性,请使用 Logging API 中的 projects.locations.buckets.patch
。
升级存储桶以使用日志分析
如需升级现有存储桶以使用 Log Analytics,需要遵循以下限制:
- 日志存储桶是在 Google Cloud 项目级创建的。
- 除非是
_Required
存储桶,否则该日志存储桶将处于解锁状态。 - 存储桶没有待处理的更新。
Log Analytics 仅支持部分区域。如需了解详情,请参阅支持的区域。
Google Cloud 控制台
如需升级现有存储桶以使用 Log Analytics,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
找到要升级的存储桶。
当日志分析可用列显示升级时,您可以升级日志存储桶以使用 Log Analytics。点击升级。
系统会打开一个对话框。点击确认。
gcloud
如需升级日志存储桶以使用 Log Analytics,请运行 gcloud logging buckets update
命令。您必须设置 --enable-analytics
标志,我们建议您也添加 --async
标志:
gcloud logging buckets update BUCKET_ID --location=LOCATION --enable-analytics --async
--async
标志可强制命令为异步状态。异步方法的返回是一个 Operation
对象,其中包含有关方法进度的信息。该方法运行完毕后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。
API
如需升级日志存储桶以使用 Log Analytics,请使用 Cloud Logging API 的 projects.locations.buckets.updateAsync
方法。
请按以下步骤准备方法的参数:
- 将
LogBucket.analyticsEnabled
布尔值设置为true
。 - 对于该命令的查询参数,请使用
updateMask=analyticsEnabled
。
对异步方法的响应是一个 Operation
对象。该对象包含有关方法进度的信息。方法完成后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。
updateAsync
可能需要几分钟才能完成。
创建关联的 BigQuery 数据集
如果要使用 BigQuery 的功能来分析日志数据,请升级日志存储桶以使用 Log Analytics,然后创建关联的数据集。通过此配置,您可以使用 BigQuery 读取存储在日志存储桶中的日志。
Google Cloud 控制台
如需为现有日志存储桶创建指向 BigQuery 数据集的链接,请执行以下操作:
查看本文档的准备工作部分。
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
找到日志存储桶,并验证 Log Analytics 可用列是否显示打开。
如果此列显示升级,则表示日志存储桶尚未升级为使用 Log Analytics。配置 Log Analytics:
- 点击升级。
- 点击对话框中的确认。
升级完成后,请继续执行下一步。
在日志存储桶中,点击更多more_vert,然后点击修改存储桶。
系统会打开修改日志存储桶对话框。
选择创建关联到此存储桶的新 BigQuery 数据集,然后输入新数据集的名称。
每个 Google Cloud 项目的数据集名称必须是唯一的。如果输入现有数据集的名称,则会收到以下错误:
Dataset name must be unique in the selected region.
点击完成,然后点击更新存储桶。
Logging 在日志存储页面上显示关联的数据集名称后,BigQuery 可能需要几分钟才能识别该数据集。
gcloud
如需为升级到使用 Log Analytics 的日志存储桶创建关联的数据集,请运行 gcloud logging links create
命令:
gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION
LINK_ID 字段在您的 Google Cloud 项目中必须是唯一的。
links create
命令是异步的。异步方法的返回值是一个 Operation
对象,其中包含有关方法进度的信息。该方法运行完毕后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。
links create
命令需要几分钟才能完成。
例如,以下命令会为名为 my-bucket
的存储桶创建关联的数据集:
gcloud logging links create mylink --bucket=my-bucket --location=global
每个 Google Cloud 项目的数据集名称必须是唯一的。如果您尝试创建与现有数据集同名的数据集,则会收到以下错误:
BigQuery dataset with name "my-bucket" already exists.
如果您尝试为未升级为使用 Log Analytics 的日志存储桶创建关联的数据集,系统会报告以下错误:
A link can only be created for an analytics-enabled bucket.
API
如需为使用 Log Analytics 升级的现有日志存储桶创建关联的 BigQuery 数据集,请调用 Cloud Logging API 的异步 projects.locations.buckets.links.create
方法。
请按以下步骤准备方法的参数:
- 为
create
命令构建请求正文。请求正文的格式为Link
对象。 - 对于该命令的查询参数,请使用
linkId=LINK_ID
。您提供的 LINK_ID 用作数据集的名称,因此 LINK_ID 与仅限输出的 DATASET_ID 具有相同的值。
对异步方法的响应是一个 Operation
对象。该对象包含有关方法进度的信息。该方法运行完毕后,Operation
对象会包含相应状态。如需了解详情,请参阅异步 API 方法。
links.create
方法需要几分钟才能完成。
每个 Google Cloud 项目的数据集名称必须是唯一的。如果您尝试创建与现有数据集同名的数据集,则会收到以下错误:
BigQuery dataset with name "my-bucket" already exists.
如果您尝试为未升级为使用 Log Analytics 的日志存储桶创建关联的数据集,系统会报告以下错误:
A link can only be created for an analytics-enabled bucket.
锁定存储桶
在针对更新锁定存储桶时,您也会锁定存储桶的保留政策。锁定保留政策后,您将无法删除该存储桶,直到存储桶中的每个日志条目都超过了存储桶的保留期限为止。
如需阻止任何人更新或删除日志存储桶,请锁定该存储桶。如需锁定存储桶,请执行以下操作:
Google Cloud 控制台
Google Cloud 控制台不支持锁定日志存储桶。
gcloud
如需锁定存储桶,请运行带有 --locked
标志的 gcloud logging buckets update
命令:
gcloud logging buckets update BUCKET_ID --location=LOCATION --locked
例如:
gcloud logging buckets update my-bucket --location=global --locked
API
如需锁定存储桶的特性,请使用 Logging API 中的 projects.locations.buckets.patch
。将 locked
参数设置为 true
。
列出存储桶
如需列出与 Google Cloud 项目关联的日志存储分区并查看保留设置等详细信息,请执行以下操作:
Google Cloud 控制台
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
名为日志存储分区的表列出了与当前 Google Cloud 项目关联的存储分区。
该表列出了每个日志存储桶的以下特性:
- 名称:日志存储桶的名称。
- 说明:对存储桶的说明。
- 保留期限:Cloud Logging 将对存储桶数据进行存储的天数。
- 区域:用于对存储桶数据的地理位置进行存储。
- 状态:存储桶处于锁定状态还是解锁状态。
如果某个存储桶正在等待 Cloud Logging 进行删除,则其表条目将带有 warning 警告符号。
gcloud
运行 gcloud logging buckets list
命令:
gcloud logging buckets list
您会看到日志存储桶的以下特性:
LOCATION
:用于存储存储桶数据的区域。BUCKET_ID
:日志存储桶的名称。RETENTION_DAYS
:Cloud Logging 将存储桶数据存储的天数。LIFECYCLE_STATE
:指示一个存储桶是否在等待 Cloud Logging 删除。LOCKED
:存储桶处于锁定状态还是解锁状态。CREATE_TIME
:指示存储桶创建时间的时间戳。UPDATE_TIME
:指示上次修改存储桶的时间戳。
您还可以仅查看一个存储桶的特性。例如,如需查看 global
区域中 _Default
日志存储桶的详细信息,请运行 gcloud logging buckets describe
命令:
gcloud logging buckets describe _Default --location=global
API
如需列出与 Google Cloud 项目关联的日志存储分区,请使用 Logging API 中的 projects.locations.buckets.list
。
查看存储桶的详细信息
如需查看单个日志存储桶的详细信息,请执行以下操作:
Google Cloud 控制台
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
在日志存储桶中,点击 more_vert 更多,然后选择查看存储桶详情。
该对话框会列出日志存储桶的以下属性:
- 名称:日志存储桶的名称。
- 说明:日志存储桶的说明。
- 保留期限:Cloud Logging 将对存储桶数据进行存储的天数。
- 区域:用于对存储桶数据的地理位置进行存储。
- 日志分析:指示您的存储桶是否升级为使用日志分析。
- BigQuery 分析:指示 BigQuery 数据集是否已关联到您的存储桶。
- BigQuery 数据集:提供指向 BigQuery 数据集的链接,此链接会在 BigQuery Studio 页面中打开。系统还会显示 BigQuery 关联的启用日期。
gcloud
运行 gcloud logging buckets describe
命令。
例如,以下命令会报告 _Default
存储桶的详细信息:
gcloud logging buckets describe _Default --location=global
您会看到该日志存储桶的以下特性:
createTime
:指示存储桶创建时间的时间戳。description
:日志存储桶的说明。lifecycleState
:指示一个存储桶是否在等待 Cloud Logging 删除。name
:日志存储桶的名称。retentionDays
:Cloud Logging 将存储桶数据存储的天数。updateTime
:指示上次修改存储桶的时间戳。
API
如需查看单个日志存储桶的详细信息,请使用 Logging API 中的 projects.locations.buckets.get
。
删除存储桶
如需删除日志存储桶,请执行以下操作:
Google Cloud 控制台
如需删除日志存储桶,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
找到要删除的存储桶,然后点击more_vert更多。
如果 BigQuery 中的关联数据集列显示链接,则删除关联的 BigQuery 数据集:
点击修改存储桶。
清除创建关联到此存储桶的新 BigQuery 数据集,点击完成,然后点击更新存储桶。
返回日志存储页面后,针对要删除的存储桶点击more_vert更多,然后继续执行后续步骤。
选择删除存储桶。
在确认面板上,点击删除。
在日志存储页面上,会有一个指示符显示该存储桶正在等待删除。该存储桶(包括其中的所有日志)将在 7 天后删除。
gcloud
如需删除日志存储桶,请运行 gcloud logging buckets delete
命令:
gcloud logging buckets delete BUCKET_ID --location=LOCATION
如果日志存储桶与 BigQuery 数据集相关联,您将无法删除该日志存储桶:
- 如需列出与日志存储桶关联的链接,请运行
gcloud logging links list
命令。 - 如需删除关联的数据集,请运行
gcloud logging links delete
命令。
API
如需删除存储桶,请使用 Logging API 中的 projects.locations.buckets.delete
。
如果日志存储桶与 BigQuery 数据集相关联,则会发生错误。您必须先删除关联的数据集,然后才能删除日志存储桶:
- 如需列出与日志存储桶关联的链接,请运行
projects.locations.buckets.links.list
方法。 - 如需删除关联的数据集,请运行
projects.locations.buckets.links.delete
方法。
已删除的存储桶会以待处理状态保留 7 天,在此期间 Logging 会继续将日志路由到该存储桶。您可以通过以下方法停止将日志路由到已删除的存储桶:删除将该存储桶作为目标位置的日志接收器,或者修改这些接收器的过滤条件。
新建的日志存储桶不能与处于待处理状态的已删除存储桶使用相同名称。
恢复已删除的存储桶
您可以恢复或取消删除处于待删除状态的日志存储桶。如需恢复日志存储桶,请执行以下操作:
Google Cloud 控制台
如需恢复处于待删除状态的日志存储桶,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
针对要恢复的存储桶,点击 more_vert 更多,然后选择恢复已删除的存储桶。
在确认面板上,点击恢复。
在日志存储页面上,系统将从您的日志存储桶中移除“待删除”指示器。
gcloud
如需恢复处于待删除状态的日志存储桶,请运行 gcloud logging buckets undelete
命令:
gcloud logging buckets undelete BUCKET_ID --location=LOCATION
API
如需恢复待删除的存储桶,请使用 Logging API 中的 projects.locations.buckets.undelete
。
针对日志存储分区中存储的每月日志字节数发出提醒
如需创建提醒政策,请在 Google Cloud 控制台的日志存储页面上点击 add_alert 创建使用情况提醒。点击此按钮会在 Monitoring 中打开创建提醒政策页面,并使用 logging.googleapis.com/billing/bytes_ingested
填充指标类型字段。
如需创建在写入日志存储分区的日志字节数超过用户为 Cloud Logging 定义的限制时触发的提醒政策,请使用以下设置。
新建条件 字段 |
值 |
---|---|
资源和指标 | 在资源菜单中,选择全局。 在指标类别菜单中,选择基于日志的指标。 在指标菜单中,选择每月提取的日志字节数。 |
过滤 | 无。 |
跨时序 时序聚合 |
sum |
滚动窗口 | 60 m |
滚动窗口函数 | max |
配置提醒触发器 字段 |
值 |
---|---|
条件类型 | Threshold |
提醒触发器 | Any time series violates |
阈值位置 | Above threshold |
阈值 | 可接受的值由您决定。 |
重新测试窗口 | 可接受的最小值是 30 分钟。 |
如需详细了解提醒政策,请参阅提醒概览。
写入存储桶
您无法直接将日志写入日志存储桶,而是将日志写入到下列 Google Cloud 资源:Google Cloud 项目、文件夹或组织。然后,父级资源中的接收器会将日志路由到目标位置,包括日志存储桶。当日志与接收器的过滤条件匹配并且接收器有权将日志路由到日志存储桶时,接收器会将日志路由到日志存储桶目标位置。
从存储桶读取
每个日志存储桶都包含一组日志视图。如需从日志存储桶读取日志,您需要能够访问日志存储桶中的日志视图。通过日志视图,您可以授予用户仅访问日志存储桶中存储的部分日志的权限。如需了解如何配置日志视图以及如何授予对特定日志视图的访问权限,请参阅配置日志存储桶的日志视图。
如需从日志存储桶读取日志,请执行以下操作:
Google Cloud 控制台
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择 Logs Explorer:
如需自定义在 Logs Explorer 中显示的日志,请点击优化范围,然后选择一个选项:
如需查看在当前项目中生成或直接路由到当前项目中的所有日志,请选择按当前项目确定范围。
如需查看存储在当前项目的日志存储分区中的某些日志,请选择按存储确定范围,然后选择一个或多个日志视图。
如需查看存储在不同项目的日志存储分区中的某些日志,请选择“按存储确定范围”,点击项目和日志视图选择器中的 add_circle 导入项目,然后选择一个或多个日志视图。
点击应用。查询结果窗格会重新加载与您选择的选项匹配的日志。
如需详细了解如何自定义 Logs Explorer 中显示的日志,请参阅 Logs Explorer 概览:优化范围。
gcloud
如需从日志存储桶中读取日志,请使用 gcloud logging read
命令并添加 LOG_FILTER
以选择数据:
gcloud logging read LOG_FILTER --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID
API
如需从日志存储桶中读取日志,请使用 entries.list 方法。设置 resourceNames
以指定相应的存储桶和日志视图,设置 filter
以选择数据。
如需详细了解过滤语法,请参阅 Logging 查询语言。
配置自定义保留
创建日志存储桶时,您可以选择自定义 Cloud Logging 存储存储桶日志的时长。您可以为任何用户定义的日志存储桶以及 _Default
日志存储桶配置保留期限。
如果您缩短存储桶的保留期限,则有 7 天的宽限期,在此期限内到期的日志不会被删除。您无法查询或查看这些过期的日志,但在这 7 天内,您可以通过延长存储桶的保留期限来恢复完整访问权限。在宽限期内存储的日志会计入您的保留费用。
如需更新日志存储桶的保留期限,请执行以下操作:
Google Cloud 控制台
如需更新日志存储桶的保留期限,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 Logging,然后选择日志存储:
对于要更新的存储桶,点击 more_vert 更多,然后选择修改存储桶。
在保留字段中,输入您希望 Cloud Logging 保留日志的天数(介于 1 天到 3650 天之间)。
点击更新存储桶。新的保留时长会显示在日志存储桶列表中。
gcloud
如需更新日志存储桶的保留期限,请在设置 RETENTION_DAYS 的值后运行 gcloud logging buckets update
命令:
gcloud logging buckets update BUCKET_ID --location=LOCATION --retention-days=RETENTION_DAYS
例如,如需将 global
位置的 _Default
存储桶中的日志保留一年,您的命令应如下所示:
gcloud logging buckets update _Default --location=global --retention-days=365
如果您延长存储桶的保留期限,则保留规则会在以后应用,并且不会追溯应用。日志在适用的保留期限结束后无法恢复。
异步 API 方法
异步方法(如 projects.locations.buckets.createAsync
)的响应是一个 Operation
对象。
调用异步 API 方法的应用应轮询 operation.get
端点,直到 Operation.done
字段的值为 true
:
当
done
为false
时,表示操作正在进行中。如需刷新状态信息,请向
operation.get
端点发送GET
请求。当
done
为true
时,表示操作已完成且已设置error
或response
字段:error
:设置此标志时,表示异步操作失败。此字段的值是一个Status
对象,其中包含 gRPC 错误代码和错误消息。response
:如果设置此标志,则表示异步操作成功完成,并且值将反映结果。
如需使用 Google Cloud CLI 轮询异步命令,请运行以下命令:
gcloud logging operations describe OPERATION_ID --location=LOCATION --project=PROJECT_ID
如需了解详情,请参阅 gcloud logging operations describe
。
排查常见问题
如果您在使用日志存储桶时遇到问题,请参阅以下问题排查步骤以及常见问题解答。
为什么我无法删除此存储桶?
如果要尝试删除存储桶,请执行以下操作:
确保您拥有删除存储桶存储桶的适当权限。如需查看所需的权限列表,请参阅使用 IAM 进行访问权限控制。
通过列出存储桶的特性来确定存储桶是否已锁定。如果存储桶已被锁定,请检查存储桶的保留期限。在存储桶中的所有日志都达到存储桶的保留期限之前,您无法删除锁定的存储桶。
验证日志存储桶没有关联的 BigQuery 数据集。 您无法删除包含关联数据集的日志存储桶。
当
delete
命令针对具有关联数据集的日志存储桶时,系统会显示以下错误:FAILED_PRECONDITION: This bucket is used for advanced analytics and has an active link. The link must be deleted first before deleting the bucket
如需列出与日志存储桶关联的链接,请运行
gcloud logging links list
命令或运行projects.locations.buckets.links.list
API 方法。
哪些服务账号会将日志路由到我的存储桶?
如需确定是否有任何服务账号具有将日志路由到存储桶的 IAM 权限,请执行以下操作:
-
在 Google Cloud 控制台的导航面板中,选择 IAM:
在权限标签页中,按角色查看。您将看到一个表,其中包含与您的 Google Cloud 项目关联的所有 IAM 角色和主帐号。
在该表的过滤条件文本框 filter_list中,输入 Logs Bucket Writer。
您会看到所有具有 Logs Bucket Writer 角色的主账号。如果主账号是服务帐号,则其 ID 包含字符串
gserviceaccount.com
。可选:如果您要移除某个服务帐号,使其无法将日志路由到您的 Google Cloud 项目,请选中该服务帐号的复选框 check_box_outline_blank,然后点击移除。
我已将某个 Google Cloud 项目的日志从 _Default
接收器中排除,但为什么仍然会看到这些日志?
您可能正在集中式 Google Cloud 项目中查看日志存储桶中的日志,该项目汇总了整个组织的日志。
如果您使用日志浏览器访问这些日志并查看从 _Default
接收器中排除的日志,那么您的视图可能会限定在 Google Cloud 项目级别。
如需解决此问题,请在优化范围面板中选择按存储确定范围,然后选择 Google Cloud 项目中的 _Default
存储桶。您应该不会再看到已排除的日志。
后续步骤
如需了解日志存储桶 API 方法,请参阅 LogBucket
参考文档。
如需了解如何使用日志存储桶解决常见用例,请参阅以下主题: