配置日志存储分区

本文档介绍如何使用 Google Cloud 控制台、Google Cloud CLI 以及 Logging API。 还介绍了如何在 Google Cloud 项目级。您无法在该文件夹中创建日志存储分区 或组织级别但 Cloud Logging 会自动创建 为您设置文件夹级和组织级的 _Default_Required 存储分区。

您可以将日志存储分区升级为使用 Log Analytics。 借助 Log Analytics,您可以对日志数据运行 SQL 查询, 排查应用、安全和网络问题。

要使用 BigQuery 分析日志数据,您有两个选择:

  • 升级日志存储桶以使用 Log Analytics,然后创建 关联的 BigQuery 数据集。在这种情况下 Logging 会存储你的日志数据 BigQuery 可以读取日志数据。

  • 将日志条目导出到 BigQuery。在这种情况下 您必须创建一个接收器,BigQuery 会存储和管理数据, 您可以选择使用分区表

当您的日志数据可供 BigQuery 使用后,您可以将 日志数据与 BigQuery 中存储的其他数据相关联,并且您可以访问 Looker Studio 和 Looker 等其他工具生成的数据。

如需了解存储桶的概念性概览,请参阅路由和存储概览:日志存储桶

准备工作

如需开始使用存储桶,请执行以下操作:

  • 确保您已为 Google Cloud 项目启用结算功能。

  • 确保您的 Identity and Access Management (IAM) 角色授予您 创建、升级和关联存储分区所需的权限。

    日志配置写入者 (roles/logging.configWriter) 角色是 授予管理所需权限的最小预定义角色 存储分区。如需查看权限和角色的完整列表,请参阅 使用 IAM 进行访问权限控制

  • 了解 LogBucket 格式要求,包括 支持的区域 可以用来存储您的日志

  • 您可以考虑设置一个 默认资源位置 为存储分区中的 _Required_Default 存储分区应用默认存储区域 。

  • 如需使用 BigQuery 查看存储在日志存储桶中的数据,请执行以下操作: 执行以下操作:

  • 有关如何创建使用 客户管理的加密密钥 (CMEK),请参阅 为日志存储配置 CMEK

创建存储桶

每个存储分区最多可以创建 100 个存储分区 Google Cloud 项目。

如需为您的 Google Cloud 项目创建用户定义的日志存储桶,请执行以下操作: 以下:

Google Cloud 控制台

如需在 Google Cloud 项目中创建日志存储桶,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 点击创建日志存储桶

  3. 输入存储分区的名称说明

  4. 可选:升级您的存储桶以使用 Log Analytics。

    1. 选择升级以使用 Log Analytics

      升级存储桶以使用 Log Analytics 时,您可以查询 Log Analytics 页面的日志。您 也可以继续使用日志浏览器查看日志

    2. 可选:要在 BigQuery 中查看日志,请选择 创建关联到此存储桶的新 BigQuery 数据集并输入唯一的数据集名称。

      选择此选项后,BigQuery 可以读取 存储在日志存储桶中的数据。现在,您可以在 BigQuery 界面,您可以在其中联接日志数据, 还可以访问 Looker Studio 等其他工具中的数据, 和 Looker。

  5. 可选:选择存储区域 对于日志,点击选择日志存储桶区域菜单,然后选择 区域。如果您未选择区域,则系统会使用 global 区域。 也就是说,日志可能实际位于 区域。

  6. 可选:如需为 日志,请点击下一步

    保留期限字段中,输入介于 1 天 3650 天,您希望 Cloud Logging 并保留您的日志如果您不自定义保留期限,则默认值为 30 days

    您也可以在创建存储桶后更新存储桶以应用自定义保留 。

  7. 点击创建存储桶

    创建日志存储桶后,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 设置为任何受支持的 region [地区]

例如,如果要在 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.createprojects.locations.buckets.createAsync 方法。请按以下步骤准备方法的参数:

  1. parent 形参设置为 创建存储桶: projects/PROJECT_ID/locations/LOCATION

    变量 LOCATION 是指要在其中存储日志的区域

    例如,如果要在 Cloud Storage 中为项目 my-project 创建存储桶, 在 asia-east2 区域,您的 parent 参数应如下所示: 此内容:projects/my-project/locations/asia-east2

  2. 设置 bucketId 参数;例如 my-bucket

  3. 执行下列其中一项操作:

    • 创建日志存储桶,然后升级日志存储桶以使用 Log Analytics:

      1. LogBucket.analyticsEnabled 布尔值设置为 true

      2. 调用异步方法 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 项目。

  • 预计到月底的注入量:系统为您估算的日志数据量 Google Cloud 项目在 当前日历月,具体取决于当前用量。

  • 本月计费存储空间:已存储的日志数据量 保留超过 30 天(已结算)。

以前的统计信息不包含 _Required 存储桶。无法排除或停用该存储桶中的日志。

Google Cloud 控制台中的日志路由器页面为您提供了 有助于尽可能减少在日志存储分区中存储日志的费用,或 超过每月配额的存储空间。您可以执行以下操作:

  • 禁止在存储桶级别存储日志。
  • 排除某些日志条目,避免将其存储在日志存储分区中。

如需了解详情,请参阅管理接收器

管理存储桶

本部分介绍如何使用 Google Cloud CLI 管理日志存储分区 或 Google Cloud 控制台

更新存储桶

更新存储桶的属性,例如说明或保留 请执行以下操作:

Google Cloud 控制台

如需更新存储桶的属性,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 对于要更新的存储桶,点击 更多

  3. 选择修改存储桶

  4. 根据需要修改存储桶。

  5. 点击更新存储桶

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

如需更新存储桶的属性,请使用 projects.locations.buckets.patch

升级存储桶以使用 Log Analytics

如需升级现有存储桶以使用 Log Analytics,请执行以下操作: 需遵守以下限制:

  • 日志存储桶是在 Google Cloud 项目级创建的。
  • 除非日志存储桶是 _Required,否则该日志存储桶处于解锁状态。
  • 此存储桶没有待处理的更新。

Google Cloud 控制台

如需升级现有存储桶以使用 Log Analytics,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 找到您要升级的存储桶。

  3. Log Analytics 可用列显示升级时, 您可以升级日志存储桶以使用 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,请使用 projects.locations.buckets.updateAsync 方法。

请按以下步骤准备方法的参数:

  1. LogBucket.analyticsEnabled 布尔值设置为 true
  2. 对于命令的查询参数,请使用 updateMask=analyticsEnabled.

对异步方法的响应是一个 Operation 对象。此对象包含 有关方法进度的信息。当方法 完成后,Operation 对象包含状态。如需更多信息 请参阅异步 API 方法

updateAsync可能需要几分钟才能完成。

当您希望使用 BigQuery 的功能来分析 日志数据,升级日志存储桶以使用 Log Analytics,然后创建 关联的数据集。通过这种配置 Logging 会存储你的日志数据 BigQuery 可以读取日志数据。

Google Cloud 控制台

如需为现有 BigQuery 数据集创建关联,请执行以下操作: 日志存储桶,请执行以下操作:

  1. 请查看以下内容的准备工作部分: 本文档。

  2. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  3. 找到日志存储桶并验证 Log Analytics 可用 列会显示打开

    如果此列显示升级,则表示日志存储桶尚未 已升级为使用 Log Analytics。配置 Log Analytics:

    1. 点击升级
    2. 在对话框中点击确认

    升级完成后,请继续执行下一步。

  4. 在日志存储桶中,点击更多。 然后点击修改存储桶

    此时将打开修改日志存储桶对话框。

  5. 选择创建关联到此存储桶的新 BigQuery 数据集,然后输入新数据集的名称。

    每个 Google Cloud 项目的数据集名称必须是唯一的。如果您输入 现有数据集的名称,则会收到以下错误: Dataset name must be unique in the selected region.

  6. 点击完成,然后点击更新存储桶

    Logging 会在 Logs Storage 页面,可能需要几分钟时间 BigQuery 会识别该数据集。

gcloud

为升级的日志存储桶创建关联的数据集 要使用 Log Analytics,请运行 gcloud logging links create 命令:

gcloud logging links create LINK_ID --bucket=BUCKET_ID --location=LOCATION

您的 Google Cloud 项目的 LINK_ID 字段必须是唯一的。

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

为现有日志存储桶创建关联的 BigQuery 数据集 使用 Log Analytics,调用异步 projects.locations.buckets.links.create 方法。

请按以下步骤准备方法的参数:

  1. create 命令构建请求正文。请求正文 格式为 Link 对象。
  2. 对于命令的查询参数,请使用 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

如需锁定存储桶,请运行 gcloud logging buckets update。 命令:--locked

gcloud logging buckets update BUCKET_ID --location=LOCATION --locked

例如:

gcloud logging buckets update my-bucket --location=global --locked

API

如需锁定存储桶的属性,请使用 projects.locations.buckets.patch 。将 locked 参数设置为 true

列出存储桶

列出与 Google Cloud 项目关联的日志存储分区,并查看 详细信息(如保留设置),请执行以下操作:

Google Cloud 控制台

在 Google Cloud 控制台中,前往日志存储页面:

前往日志存储

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

名为日志存储分区的表列出了与当前存储分区关联的 Google Cloud 项目。

该表列出了每个日志存储桶的以下特性:

  • 名称:日志存储桶的名称。
  • 说明:存储桶的说明。
  • 保留期限:Cloud Logging 将对存储桶数据进行存储的天数。
  • 区域:用于对存储桶数据的地理位置进行存储。
  • 状态:存储桶处于锁定状态还是解锁状态。

如果存储桶正在等待 Cloud Logging 删除, 则其表条目带有 警告 符号。

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 项目关联的日志存储分区,请使用 projects.locations.buckets.list

查看存储桶的详细信息

如需查看单个日志存储桶的详细信息,请执行以下操作:

Google Cloud 控制台

在 Google Cloud 控制台中,前往日志存储页面:

前往日志存储

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

在日志存储桶中,点击 更多,然后点击 选择查看存储桶详情

该对话框列出了日志存储桶的以下属性:

  • 名称:日志存储桶的名称。
  • 说明:日志存储桶的说明。
  • 保留期限: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

如需查看单个日志存储桶的详细信息,请使用 projects.locations.buckets.get

删除存储桶

如需删除日志存储桶,请执行以下操作:

Google Cloud 控制台

如需删除日志存储桶,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 找到要删除的存储桶,然后点击 更多

  3. 如果 BigQuery 中关联的数据集列显示 关联,然后删除关联的 BigQuery 数据集:

    1. 点击修改存储桶

    2. 取消选中创建关联到此存储桶的新 BigQuery 数据集,点击完成,然后点击 更新存储桶

      返回日志存储页面后,点击 更多,然后找到要删除的存储桶 请继续执行后续步骤。

  4. 选择删除存储分区

  5. 在确认面板上,点击删除

  6. 日志存储页面上,会有一个指示符显示该存储桶正在等待删除。该存储桶(包括其中的所有日志)将在 7 天后删除。

gcloud

如需删除日志存储桶,请运行 gcloud logging buckets delete 命令:

gcloud logging buckets delete BUCKET_ID --location=LOCATION

如果日志存储桶已关联,您将无法删除该存储桶 BigQuery 数据集:

API

如需删除存储桶,请使用 projects.locations.buckets.delete

如果日志存储桶关联了 BigQuery 数据集。您必须先删除关联的数据集, 删除日志存储桶:

已删除的存储桶会以待处理状态保留 7 天,在此期间 Logging 会继续将日志路由到该存储桶。您可以通过以下方法停止将日志路由到已删除的存储桶:删除将该存储桶作为目标位置的日志接收器,或者修改这些接收器的过滤条件。

您无法使用与已删除的存储桶相同的名称创建新的日志存储桶 处于待处理状态

恢复已删除的存储桶

您可以恢复或取消删除处于待删除状态的日志存储桶。如需恢复日志存储桶,请执行以下操作:

Google Cloud 控制台

如需恢复处于待删除状态的日志存储桶,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 对于要恢复的存储桶 点击 更多,然后选择 恢复已删除的存储桶

  3. 在确认面板上,点击恢复

  4. 日志存储页面上,“待删除”指示器已移除 删除日志

gcloud

要恢复处于待删除状态的日志存储桶,请运行 gcloud logging buckets undelete 命令:

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

API

如需恢复处于待删除状态的存储桶,请使用 projects.locations.buckets.undelete

针对日志存储分区中存储的每月日志字节数发出提醒

要创建提醒政策,请在日志存储页面上的 在 Google Cloud 控制台中,点击 创建用量提醒。这个 按钮打开 Monitoring 中的创建提醒政策页面, 并使用 logging.googleapis.com/billing/bytes_ingested

要创建一项提醒政策,当出现以下情况时, 写入日志存储分区的日志字节数超过了用户定义的限制 Cloud Logging,请使用以下设置。

新建条件
字段

资源和指标 Resources 菜单中,选择 Global
指标类别菜单中,选择基于日志的指标
指标菜单中,选择 Monthly log bytesises(每月日志字节数)。
过滤 无。
跨时间序列
时间序列聚合
sum
滚动窗口 60 m
滚动窗口函数 max
配置提醒触发器
字段

条件类型 Threshold
提醒触发器 Any time series violates
阈值位置 Above threshold
阈值 可接受的值由您决定。
重新测试窗口 可接受的最小值是 30 分钟。

有关提醒政策的更多信息,请参阅 提醒概览

写入存储桶

您无法直接将日志写入日志存储桶,而是将日志写入 Google Cloud 资源:Google Cloud 项目、文件夹或组织。 然后,父级资源中的接收器会将日志路由到目标位置,包括日志存储桶。当日志与接收器的过滤条件匹配并且接收器有权将日志路由到日志存储桶时,接收器会将日志路由到日志存储桶目标位置。

从存储桶读取

每个日志存储桶都包含一组日志视图。如需从日志存储桶读取日志,您需要能够访问日志存储桶中的日志视图。通过日志视图,您可以向用户 只能访问存储在日志存储桶中的部分日志。相关信息 如何配置日志视图以及如何授予对特定日志视图的访问权限, 请参阅在日志存储桶上配置日志视图

如需从日志存储桶读取日志,请执行以下操作:

Google Cloud 控制台

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

    前往 Logs Explorer

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

  2. 如需自定义在日志浏览器中显示哪些日志,请执行以下操作: 点击优化范围,然后选择一个选项:

    • 要查看在以下位置生成或直接路由到 请选择按当前项目确定范围

    • 如需查看当前项目的日志存储分区中存储的特定日志,请执行以下操作: 选择按存储确定范围,然后选择一个或多个日志视图。

    • 如需查看存储在不同日志存储分区中的特定日志,请执行以下操作: 项目,选择“按存储确定范围”,点击 在项目和日志视图选择器中导入项目,然后选择 一个或多个日志视图。

  3. 点击应用查询结果窗格会重新加载匹配的日志 您选择的选项

要详细了解如何自定义 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即可选择数据。

如需详细了解过滤语法,请参阅 日志记录查询语言

配置自定义保留

创建日志存储桶时,您可以选择 自定义 Cloud Logging 存储存储桶日志的期限。 您可以为任何用户定义的日志存储桶配置保留期限,也可以 (针对 _Default 日志存储桶)。

如果您缩短存储桶的保留期限,则 哪些过期日志不会被删除您无法查询或查看这些过期日志 但在这 7 天内,您可以延长存储桶的 。在宽限期内存储的日志将计入您的 保留费用。

如需更新日志存储桶的保留期限,请执行以下操作:

Google Cloud 控制台

如需更新日志存储桶的保留期限,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往日志存储页面:

    前往日志存储

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

  2. 针对要更新的存储桶 点击 更多,然后选择 修改存储桶

  3. 保留字段中,输入您希望 Cloud Logging 保留日志的天数(介于 1 天到 3650 天之间)。

  4. 点击更新存储桶。新的保留时长会显示在日志存储桶列表中。

gcloud

如需更新日志存储桶的保留期限,请运行 gcloud logging buckets update 命令之后, RETENTION_DAYS

gcloud logging buckets update BUCKET_ID  --location=LOCATION --retention-days=RETENTION_DAYS

例如,如需保留数据库下 _Default 存储桶中的日志, global 位置,您的命令将如下所示:

gcloud logging buckets update _Default --location=global --retention-days=365

如果您延长存储桶的保留期限,则保留规则会在以后应用,并且不会追溯应用。日志在适用的保留期限结束后无法恢复。

异步 API 方法

异步方法的响应,例如 projects.locations.buckets.createAsync 是一个 Operation 对象。

调用异步 API 方法的应用应轮询 operation.get 端点,直到 Operation.done 字段的值为 true

  • donefalse 时,表示操作正在进行中。

    要刷新状态信息,请发送 GET 请求至 operation.get 端点。

  • donetrue 时,表示操作已完成且已设置 errorresponse 字段:

    • 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 权限,请执行以下操作:

  1. 在 Google Cloud 控制台中,进入 IAM 页面:

    前往 IAM

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

  2. 权限标签页中,按角色查看。您会看到一个表格 与您的管理员关联的 Google Cloud 项目。

  3. 在该表的过滤条件文本框中,输入 Logs Bucket Writer

    您会看到具有 Logs Bucket Writer 角色的所有主账号。如果主账号 是一个服务账号,其 ID 包含字符串 gserviceaccount.com

  4. 可选:如果您希望移除服务账号,使其无法路由 将日志复制到您的 Google Cloud 项目,请选择 复选框 对应的服务账号,然后点击移除

为什么我已将 Google Cloud 项目的日志从 _Default 接收器中排除,但仍会看到这些日志?

您可能正在 集中管理的 Google Cloud 项目 可汇总整个组织的日志

如果您使用日志浏览器访问这些日志并查看 从 _Default 接收器中排除,则您的视图可能会限定为 Google Cloud 项目级。

要解决此问题,请在以下位置选择按存储确定范围优化范围面板 然后选择存储桶中的_Default Google Cloud 项目。您应该不会再看到已排除的日志。

后续步骤

如需了解日志存储桶 API 方法,请参阅 LogBucket 参考文档。

如需了解如何使用日志存储桶解决常见用例,请参阅以下主题: