配置和管理日志存储桶

本页面介绍如何使用 Cloud Console 和 gcloud 命令行工具创建和管理 Cloud Logging 存储桶。您还可以使用 Logging API 创建和管理存储桶。

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

准备工作

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

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

  • 验证您有权创建和管理 Cloud 项目存储桶。如需查看访问存储在存储桶中的数据所需的权限和角色列表,请参阅访问权限控制指南

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

创建存储桶

您最多可以为每个 Cloud 项目创建 100 个存储桶。

如需为您的 Cloud 项目创建用户定义的日志存储桶,请完成以下步骤:

控制台

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

  1. 从“日志记录”菜单中选择日志存储

    转到“日志存储”

  2. 点击创建日志存储桶

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

  4. (可选)如需设置存储日志的区域,请点击选择日志存储存储桶区域下拉菜单,然后选择一个区域。如果您未选择区域,则系统会使用 global 区域,这意味着日志可能实际位于任何区域中。

  5. (可选)如需为存储桶中的日志设置自定义保留期限,请点击下一步

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

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

  6. 点击创建存储分区。您的新存储桶将显示在日志存储桶列表中。

gcloud

如需在 Cloud 项目中创建日志存储桶,请运行 gcloud logging buckets create 命令:

gcloud logging buckets create BUCKET_ID --location=LOCATION OPTIONAL_FLAGS

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

例如,如果要在 asia-east2 区域中创建具有 BUCKET_ID my-bucket 的存储桶,您的命令将如下所示:

gcloud logging buckets create my-bucket --location asia-east2 --description "My first bucket"

创建存储桶后,您可以配置日志视图以控制哪些人可以访问新存储桶中的日志,以及可以访问哪些日志。

跟踪日志提取

Cloud Console 中的日志存储会跟踪日志存储桶提取的日志数据量。

如需跟踪 Cloud 项目的日志数据提取,请转到控制台中的日志存储页面:

转到“日志存储”

日志存储页面会显示 Cloud 项目的统计信息摘要:

摘要统计信息报告记录当前所选项目的数据提取量。

系统会报告以下统计信息:

  • 当前总数据量:您的 Cloud 项目从当前日历月第一天提取的日志数据量。

  • 上月数量:您的 Cloud 项目在上个日历月中提取的日志数据量。

  • 预计 EOM 数量:根据当前使用情况,Cloud 项目在当前日历月结束时将提取的估算日志数据量。

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

Cloud Console 中的日志路由器为您提供的工具,可最大限度地减少超出每月配额的日志注入或存储费用。您可以执行以下操作:

  • 在存储桶级别停用日志注入。
  • 不要将某些日志条目注入 Logging。

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

管理存储桶

本部分介绍如何使用 gcloud 命令行工具或 Google Cloud Console 管理日志存储桶。

更新存储桶

如需更新存储桶的特性,请完成以下步骤:

控制台

如需更新存储桶的特性,请完成以下步骤:

  1. 从“日志记录”菜单中选择日志存储

    转到“日志存储”

  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"

锁定存储桶

当您根据更新锁定存储桶时,其中包括锁定存储桶的保留政策。保留政策锁定后,您将无法删除存储桶,除非存储桶中的所有日志都已达到存储桶的保留期限。

如需阻止任何人更新或删除日志存储桶,请锁定该存储桶。如需锁定存储桶,请执行以下操作:

控制台

Cloud Console 不支持锁定日志存储桶。

gcloud

如需锁定您的存储桶,请运行带有 --locked 标志的 gcloud logging buckets update 命令:

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

例如:

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

列出存储分区

如需列出与 Cloud 项目关联的日志存储桶,并查看诸如保留设置等详细信息,请执行以下操作:

控制台

转到日志存储页面:

转到“日志存储”

您会看到一个日志存储桶表,其中列出了与当前 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:指示上次修改存储桶的时间戳。

您还可以仅查看一个存储桶的特性。例如,如需查看“全球”区域中 _Default 日志存储桶的详细信息,请运行 gcloud logging buckets describe 命令:

gcloud logging buckets describe _Default --location=global

查看存储桶的详细信息

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

控制台

转到日志存储页面:

转到“日志存储”

在日志存储桶上,点击更多 > 查看存储桶详情

对话框会列出日志存储桶的以下特性:

  • 名称:创建存储桶时,为存储桶指定的名称。
  • 说明:创建存储桶时为其分配的说明。
  • 保留期限:Cloud Logging 将对存储桶数据进行存储的天数。
  • 区域:用于对存储桶数据的地理位置进行存储。

gcloud

运行 gcloud logging buckets describe 命令:

gcloud logging buckets describe _Default --location=global

您会看到日志存储桶的以下特性:

  • createTime:指示存储桶创建时间的时间戳。
  • description:创建存储桶时为其指定的说明。
  • lifecycleState:指示一个存储桶是否在等待 Cloud Logging 删除
  • name:创建存储桶时,为存储桶指定的名称。
  • retentionDays:Cloud Logging 将存储桶数据存储的天数。
  • updateTime:指示上次修改存储桶的时间戳。

删除存储分区

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

控制台

如需删除日志存储桶,请完成以下步骤:

  1. 从“日志记录”菜单中选择日志存储

    转到“日志存储”

  2. 找到要删除的存储分区,然后点击更多 ()。

  3. 选择删除存储分区

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

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

gcloud

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

gcloud logging buckets delete BUCKET_ID --location=LOCATION

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

恢复已删除的存储桶

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

控制台

如需恢复处于待删除状态的日志存储桶,请完成以下步骤:

  1. 从“日志记录”菜单中选择日志存储

    转到“日志存储”

  2. 找到要恢复的存储分区,然后点击更多 ()。

  3. 选择恢复已删除的存储分区

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

  5. 日志存储页面上,待删除指示符会从您的存储桶移除。

gcloud

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

gcloud logging buckets undelete BUCKET_ID --location=LOCATION

写入存储桶

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

从存储桶读取

每个日志存储桶都包含一组日志视图。如需从日志存储桶读取日志,您需要能够访问日志存储桶中的日志视图。如需详细了解日志视图,请参阅管理日志视图

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

控制台

您可以通过优化范围选项优化日志浏览器中显示的日志的范围。您可以只搜索当前 Cloud 项目内的日志,也可以在一个或多个存储视图中搜索日志。如需优化日志浏览器的范围,请执行以下操作:

  1. 从“日志记录”菜单中选择日志浏览器

    转到日志浏览器

  2. 选择优化范围

  3. 优化范围对话框上,选择范围选项。

  4. 选择按存储确定范围,然后选择一个或多个存储桶。

    该对话框会列出满足以下条件的存储视图:

    • 您有权访问存储视图。
    • 这些日志存储桶属于所选 Cloud 项目,或者所选 Cloud 项目先前已路由到了日志存储桶。

gcloud

如需从日志存储桶中读取日志,请运行 gcloud logging read 命令:

gcloud logging read --bucket=BUCKET_ID --location=LOCATION --view=VIEW_ID

配置自定义保留

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

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

控制台

如需更新日志存储桶的保留期限,请完成以下步骤:

  1. 从“日志记录”菜单中选择日志存储

    转到“日志存储”

  2. 找到要更新的存储分区,然后点击更多 ()。

  3. 选择修改存储桶

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

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

gcloud

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

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

例如,要将“全球”位置的 _Default 存储桶中的日志保留一年,您的命令将如下所示:

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

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

排查常见问题

如果您在使用日志存储桶时遇到问题,请参阅以下问题排查步骤以及常见问题解答。

为什么我无法删除此存储桶?

如果要尝试删除存储桶,请执行以下操作:

  • 确保您拥有删除存储桶的正确权限。如需查看所需的权限列表,请参阅访问权限控制指南

  • 通过列出存储桶的特性来确定存储桶是否已锁定。如果存储桶已被锁定,请检查存储桶的保留期限。在存储桶中的所有日志都达到存储桶的保留期限之前,您无法删除锁定的存储桶。

为什么即使我从 _Default 接收器中排除了 Cloud 项目的日志,但我还是会看到它们?

您正在查看集中式 Cloud 项目的日志存储桶中的日志,其中汇总了整个组织中的日志。

如果您正在集中式 Cloud 项目中访问日志,并看到已从 _Default 接收器中排除的日志,则您可能是在以下条件之一下查看日志:

  • 使用旧版日志查看器查看日志,这不支持查看集中式日志。

    如需排查此问题,请改为使用日志浏览器

  • 优化范围面板中选择了按 Cloud 项目确定范围的情况下,使用日志浏览器查看日志,无论您将日志存储在何处,该面板都会显示项目生成的日志。

    如需排查此问题,请改为在日志浏览器的优化范围面板中选择按存储划分的范围,然后选择 Cloud 项目中的 _Default 存储桶。您应该不会再看到已排除的日志。

为什么我不能为存储桶创建基于日志的指标?

基于日志的指标仅适用于单个 Google Cloud 项目。不能为日志存储桶或其他 Google Cloud 资源(例如文件夹或组织)创建这些资源。

后续步骤

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

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