创建和管理日志范围

本文档介绍了如何创建和管理日志范围, 可帮助您高效地找到所需的日志条目 以供查看或分析如果您只想查看和分析 文档,则本文档并非适用于 。不过,如果您依赖日志接收器将日志路由到其他项目或用户定义的日志存储桶,或者您使用日志视图,则本文档中的信息可能会帮助您高效地查找特定日志条目。

本文档未介绍如何查看日志。如需了解该主题,请参阅使用日志浏览器查看日志

日志范围简介

日志范围是永久性的、项目级资源,列出一组 资源。这些资源可以 项目、文件夹、组织和日志视图。 例如,您可以定义一个日志范围,其中列出包含用于生产环境的资源的项目,也可以定义一个日志范围,其中列出包含特定资源类型的日志条目的日志视图。

当您创建 Google Cloud 项目、文件夹或组织资源时,Logging 会创建一个名为 _Default 的日志范围。此范围包括创建的项目、文件夹或组织。如果搜索的资源是 Google Cloud 项目、文件夹或组织, 结果包含源于该资源的日志条目 会存储在日志存储桶中。搜索项目时,结果还会包含由另一个项目中的接收器路由到该项目,然后存储在日志存储桶中的日志条目。

您可以创建日志范围。您还可以修改和删除自己创建的日志范围。不过,您无法修改或删除名为 _Default 的日志范围。

您可以使用日志范围来控制 Logs Explorer 页面在哪些资源中搜索日志数据。当您 请打开该页面并选择日志范围,该页面会搜索 该范围内列出的资源,然后刷新显示内容。

您还可以使用日志范围来控制日志面板的资源 搜索日志数据。日志面板是一个自定义信息中心 widget, 会显示日志数据。每个日志面板都有自己的配置,这样您就可以创建包含多个日志面板的信息中心,每个面板显示不同的日志数据。如需了解详情,请参阅在自定义信息中心内显示日志和错误

对于项目,默认日志范围决定了资源集 Logs Explorer 页面在打开时搜索的内容。不过, 您在搜索的资源中拥有的 Identity and Access Management (IAM) 角色, 时间范围设置决定了从存储空间提取哪些日志条目。 创建项目时,系统会将名为 _Default 的日志范围指定为默认日志范围。您可以设置哪个日志范围是默认日志范围。

最佳做法

由于日志范围为您提供了定义和保存 以供将来使用,我们建议您 为复杂的搜索配置创建日志范围。

例如,假设您正在排查问题,并希望查看团队拥有的所有虚拟机 (VM) 实例的日志条目。为此,您可以执行以下操作:

  1. 您确定要查看的日志条目存储在 多个日志存储分区和多个项目中。对于大多数日志分桶,都存在包含您要分析的日志条目的日志视图。如果日志视图不存在,您可以创建一个。

  2. 您决定创建日志范围,因为您希望 类似的问题排查任务。

  3. 在 Google Cloud 控制台中打开日志浏览器页面 然后使用优化范围菜单选择新的 日志范围。

  4. 您查看日志条目,找到解决您正在调查的问题所需的信息。

  5. 解决问题后,您与同事分享失败原因。您还表示,您预计日后会看到类似的失败情况,因此您创建了一个日志范围,以便您或调查失败情况的人员快速找到相关的日志条目。

限制

  • 您无法删除或修改名为 _Default 的日志范围。
  • 只有 Google Cloud 项目支持默认日志范围。
  • 您无法将文件夹或组织添加到用户定义的日志范围。
  • Google Cloud CLI 不支持创建或 管理日志范围
  • 日志作用域是在 global 位置创建的。

准备工作

如需获取创建和查看日志范围所需的权限,以及设置默认日志范围, 请让管理员授予您 以下 IAM 角色:

  • 如需创建和查看日志范围或获取默认日志范围,请使用项目、文件夹或组织的 Logs Configuration Writer (roles/logging.configWriter)
  • 如需设置默认日志范围,请执行以下操作: 在项目、文件夹或组织中使用 Observability Editor (roles/observability.editor)

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

这些预定义角色包含创建和查看日志范围以及设置默认日志范围所需的权限。如需查看所需的确切权限,请展开所需权限部分:

所需权限

如需创建和查看日志范围以及设置默认日志范围,您需要具备以下权限:

  • 如需获取和设置默认日志范围,请执行以下操作: observability.scopes.[get, update]

您也可以使用自定义角色或其他预定义角色来获取这些权限。

列出日志范围

控制台

如需列出日志范围,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 设置页面:

    前往设置

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

  2. 选择日志范围标签页。

    该表会列出您的日志范围。 选择 Google Cloud 项目后,表格中会显示一个带有“默认”图标 的条目,表示此日志范围会列出 Logs Explorer 打开该页面时会搜索的资源。

Terraform

您可以使用 Terraform 创建和修改日志范围。不过,您无法使用 Terraform 列出日志范围。

API

Cloud Logging API 包含的命令用于列出 资源或报告特定日志范围的详细信息。 如需查看完整的命令列表 请参阅 API 参考文档

对于 Google Cloud 项目,请使用以下命令:

在 API 命令中,将 locations 字段设置为 global

设置默认日志范围

默认日志范围列出了 Logs Explorer 页面。如果 默认日志范围不存在或无法访问,则 该页面会自动搜索 所选项目、文件夹或组织。 日志浏览器页面显示的日志条目取决于搜索的资源、时间范围设置以及您在搜索的资源上的 IAM 角色。

创建项目时,系统会创建名为 _Default 的日志范围 并指定为默认日志范围。不过,您可以创建 您自己的日志范围,并将其指定为默认日志范围。

控制台

如需设置默认日志范围,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 设置页面:

    前往设置

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

  2. 选择日志范围标签页。
  3. 找到要指定为默认日志范围的日志范围,点击  More(更多),然后选择 Set as default(设为默认)。

    您选择的日志范围会显示“默认”图标,

Terraform

您可以使用 Terraform 创建和修改日志范围。不过, 您无法使用 Terraform 来设置默认日志范围。

API

不受支持。

创建日志范围

您可以为每个项目创建 100 个日志范围。 一个日志范围总共可包含 100 个 日志视图和项目;但只能包含 50 个项目。您无法添加文件夹或组织 日志范围

控制台

如需创建日志范围,请执行以下操作:

  1. 在 Google Cloud 控制台中,转到 设置页面:

    前往设置

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

  2. 选择日志范围标签页,然后点击创建日志范围
  3. 要添加一个或多个项目,请点击添加项目,然后完成 对话框。

    添加项目后,您在该项目上的 IAM 角色 确定您可以查看的日志条目。例如,您的 IAM 角色可能允许您仅查看 可以通过日志存储桶的特定日志视图访问。如需详细了解角色,请参阅记录角色

  4. 如需添加一个或多个日志视图,请点击添加日志视图,然后完成对话框。

    该对话框会列出包含源自当前项目或由其他项目中的接收器路由到当前项目的日志条目的所有日志视图。例如,如果您尚未配置任何接收器 此对话框会列出当前项目中的日志视图。

    如需列出存储在其他 Google Cloud 项目中的日志视图,请点击  Import project(导入项目),然后选择相应的 Google Cloud 项目。

    添加日志视图后,您在日志视图或存储日志视图的项目中的 IAM 角色将决定您可以访问哪些日志条目。如需了解详情,请参阅 控制对日志视图的访问权限

  5. 名称日志范围部分中,输入您要 Log Scopes(日志范围)标签页上显示的应用。

    日志范围的名称无法修改,并且在项目中必须是唯一的。

  6. 点击创建日志范围

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。 如需了解详情,请参阅 Terraform 提供程序参考文档

如需使用 Terraform 在项目、文件夹或组织中创建日志范围,请使用 Terraform 资源 google_logging_log_scope

在该命令中,设置以下字段:

  • parent:项目、文件夹或组织的完全限定名称。例如,您可以将此字段设置为 "projects/PROJECT_ID",其中 PROJECT_ID 是您的 Google Cloud 项目的 ID。
  • locations:设置为 "global"
  • name:设置为日志作用域的完全限定名称。对于 则此字段的格式为:

    "projects/PROJECT_ID/locations/global/logScopes/LOG_SCOPE"
    

    在前面的表达式中,LOG_SCOPE 是 日志范围(例如“production”)。

  • resource_names:一个项目和日志视图数组,其中每个项目和日志视图均通过其完全限定名称指定。

  • description:简要说明。例如: “生产资源的范围”。

API

Cloud Logging API 还支持在文件夹中创建日志范围 或组织。如需了解详情,请参阅 API 参考文档

对于 Google Cloud 项目,请使用以下命令:

在 API 命令中,将 locations 字段设置为 global

修改或删除日志范围

控制台

要修改或删除您或同事创建的日志范围,请按以下步骤操作: 执行以下操作:

  1. 在 Google Cloud 控制台中,转到 设置页面:

    前往设置

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

  2. 选择日志范围标签页。
  3. 找到您要修改或删除的日志范围,点击  更多,然后执行以下操作之一:

    • 如需修改,请选择修改范围,然后在对话框中填写信息。
    • 如需删除,请选择 Delete scope,然后完成对话框。

Terraform

如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。 如需了解详情,请参阅 Terraform 提供程序参考文档

修改项目、文件夹或组织中的日志范围 使用 Terraform 资源 google_logging_log_scope

API

Cloud Logging API 包含可用于修改或删除 日志范围。如需查看完整的命令列表 请参阅 API 参考文档

对于 Google Cloud 项目,请使用以下命令:

在 API 命令中,将 locations 字段设置为 global

后续步骤