在日志存储桶中配置日志视图

本文档介绍如何在 Cloud Logging 存储桶中创建和管理日志视图。借助日志视图,您可以对有权访问您的日志存储桶中日志的人员进行高级和精细的控制。

您可以使用 Google Cloud 控制台、gcloud CLI、Terraform 或 Cloud Logging API 来配置和管理日志视图。

如需了解 Logging 存储模型的一般信息,请参阅路由和存储概览

日志视图简介

借助日志视图,您可以仅向用户授予对日志存储桶中存储的部分日志的访问权限。例如,考虑这样一个场景,您在一个中央项目中存储组织的日志。您可以为向日志存储桶提供日志的每个项目创建一个日志视图。然后,您可以向每位用户授予对一个或多个日志视图的访问权限,从而限制用户可以查看哪些日志。

对于每个日志存储桶,您最多可为其创建 30 个日志视图。

控制对日志视图的访问权限

Cloud Logging 使用 IAM 政策来控制哪些用户有权访问日志视图。IAM 政策可以在资源、项目、文件夹和组织级别存在。对于 Cloud Logging,您可以为每个日志视图创建 IAM 政策。为了确定主账号是否有权执行某项操作,IAM 会评估所有适用的政策,并在资源级别进行首次评估。

在Google Cloud 项目中具有 roles/logging.viewAccessor 角色的主账号可以访问该项目中任何日志存储桶中的视图和日志。

如需向主账号授予仅限特定日志视图的访问权限,请执行以下操作之一:

  • 为日志视图创建 IAM 政策,然后向该政策添加 IAM 绑定,用于授予主账号对日志视图的访问权限。

    如果您要创建大量日志视图,我们建议您采用这种方法。

  • 在包含日志视图的项目中向该主账号授予 roles/logging.viewAccessor 的 IAM 角色,但附加 IAM 条件以将授予权限的范围限制为特定日志视图。如果您省略条件,则会向主账号授予对所有日志视图的访问权限。政策文件中针对 Google Cloud 项目的角色绑定数不得超过 20 个,这些角色绑定必须包含相同的角色和相同的主账号,但条件表达式不同。

如需了解详情,请参阅本文档的以下部分:

自动创建的日志视图

Cloud Logging 会自动为每个日志存储桶创建一个 _AllLogs 视图,并为 _Default 日志存储桶创建一个 _Default 视图:

  • _AllLogs 视图:您可以查看日志存储桶中的所有日志。
  • _Default 视图:您可以查看日志存储桶中的所有非数据访问审核日志。

您无法修改 Cloud Logging 自动创建的视图;不过,您可以删除 _AllLogs 视图。

日志视图过滤条件

每个日志视图都包含一个过滤条件,用于确定哪些日志条目在该视图中可见。过滤条件可以包含逻辑 ANDNOT 运算符;但不能包含逻辑 OR 运算符。过滤条件可以比较以下任一值:

  • 使用 source 函数的数据源。source 函数会返回组织、文件夹和 Google Cloud 项目层次结构中特定资源的日志条目。

  • 使用 log_id 函数的日志 ID。log_id 函数会返回与 logName 字段中的指定 LOG_ID 参数匹配的日志条目。

  • 使用 resource.type= FIELD_NAME 比较的有效资源类型。

例如,以下过滤条件会捕获名为 myproject 的 Google Cloud 项目中的 Compute Engine stdout 日志条目:

source("projects/myproject") AND resource.type = "gce_instance" AND log_id("stdout")

如需详细了解过滤语法,请参阅比较

日志视图与分析视图的区别

日志视图和分析视图不同。

日志存储桶中的日志视图可控制您可以查看日志存储桶中的哪些日志条目。使用 Log Analytics 时,LogEntry 数据结构会确定您查询的数据的架构。

分析视图包含对一个或多个日志视图执行的 SQL 查询。使用 Log Analytics,您可以针对分析视图编写查询。由于分析视图的创建者决定了架构,因此分析视图的一个用例是将日志数据从 LogEntry 格式转换为更适合您的格式。

准备工作

在创建或更新日志视图之前,请完成以下步骤:

  1. 如果您尚未这样做,请在相应的 Google Cloud 项目中创建 Logging 存储桶,以便为其配置自定义日志视图。

  2. 如需获得创建和管理日志视图以及授予对日志视图的访问权限所需的权限,请让您的管理员为您授予项目的以下 IAM 角色:

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

    您也可以通过自定义角色或其他预定义角色来获取所需的权限。

  3. Select the tab for how you plan to use the samples on this page:

    Console

    When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.

    gcloud

    In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

    Terraform

    如需在本地开发环境中使用本页面上的 Terraform 示例,请安装并初始化 gcloud CLI,然后使用您的用户凭据设置应用默认凭据。

    1. Install the Google Cloud CLI.

    2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    3. To initialize the gcloud CLI, run the following command:

      gcloud init
    4. If you're using a local shell, then create local authentication credentials for your user account:

      gcloud auth application-default login

      You don't need to do this if you're using Cloud Shell.

      If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

    5. 如需了解详情,请参阅 Google Cloud 身份验证文档中的为本地开发环境设置 ADC

  4. 确定要在视图中包含的日志。 您可以使用这些信息指定日志视图的过滤条件

  5. 确定哪些用户应有权访问日志视图,以及您是希望向日志视图的 IAM 政策还是 Google Cloud 项目的 IAM 政策添加绑定。如需了解详情,请参阅控制对日志视图的访问权限

  6. 创建日志视图

    对于每个日志存储桶,您最多可为其创建 30 个日志视图。

    控制台

    如需创建日志视图,请执行以下操作:

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择您要为其创建日志视图的日志存储桶的名称。
    4. 在日志存储桶的详情页面中,前往日志视图窗格,然后点击创建日志视图
    5. 定义日志视图页面中,完成以下操作:

      1. 为日志视图输入一个名称。日志视图创建后,您将无法更改此名称。名称长度上限为 100 个字符,并且只能包含字母、数字、下划线和连字符。
      2. 输入日志视图的说明。
      3. 构建过滤条件字段中,输入一个表达式,用于确定日志存储桶中的哪些日志条目包含在日志视图中。如需了解此字段的结构,请参阅本文档的日志视图过滤条件部分。
    6. 可选:如需向日志视图资源添加角色绑定,请执行以下操作:

      1. 点击继续,进入设置权限页面。
      2. 点击 授予访问权限
      3. 添加主账号部分,展开新的主账号菜单,然后选择主账号。
      4. 分配角色部分,选择 Logs View Accessor 角色。
      5. 点击保存
    7. 点击保存视图

    8. 如果您在创建流程中未向主账号授予日志视图访问权限,请完成以下部分中的步骤。

    gcloud

    如需创建日志视图,请执行以下操作:

    1. 运行 gcloud logging views create 命令。

      在使用下面的命令数据之前,请先进行以下替换:

      • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
      • BUCKET_NAME:日志存储桶的名称。
      • LOCATION:日志存储桶的位置。
      • FILTER:用于定义日志视图的过滤条件。如果为空,日志视图将包含所有日志。例如,如需按 Compute Engine 虚拟机实例日志过滤,请输入 "resource.type=gce_instance"
      • DESCRIPTION:日志视图的说明。例如,您可以为说明 "Compute logs" 输入以下内容。
      • PROJECT_ID:项目的标识符。 如需在文件夹或组织中创建日志视图,请将 --project 替换为 --folder--organization

      执行 gcloud logging views create 命令:

      Linux、macOS 或 Cloud Shell

      gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME \
       --location=LOCATION --log-filter=FILTER --description=DESCRIPTION \
       --project=PROJECT_ID

      Windows (PowerShell)

      gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME `
       --location=LOCATION --log-filter=FILTER --description=DESCRIPTION `
       --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud logging views create LOG_VIEW_ID --bucket=BUCKET_NAME ^
       --location=LOCATION --log-filter=FILTER --description=DESCRIPTION ^
       --project=PROJECT_ID

      此命令不会提供响应。如需确认更改,您可以运行 gcloud logging views list 命令。

    2. 向主账号授予日志视图访问权限。以下部分包含有关这些步骤的信息。

    Terraform

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

    如需使用 Terraform 在项目、文件夹或组织中创建日志视图,请执行以下操作:

    1. 使用 Terraform 资源 google_logging_log_view

      在命令中设置以下字段:

      • name:设置为日志视图的完全限定名称。例如,对于项目,此字段的格式为:

        "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/view/LOG_VIEW_ID"
        

        在上面的表达式中,LOCATION 是日志存储桶的位置。

      • bucket:设置为日志存储桶的完全限定名称。例如,此字段可能为:

        "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME"
        
      • filter:用于描述日志视图中包含哪些日志条目的过滤条件。

      • description:简要说明。

    2. 向主账号授予日志视图访问权限。以下部分包含有关这些步骤的信息。

    授予对日志视图的访问权限

    如需限制主账号仅有权访问用户定义的日志存储桶中的特定日志视图,您可以使用以下两种方法:

    创建大量日志视图时,我们建议您使用日志视图的 IAM 政策文件来控制访问权限。

    日志视图:添加角色绑定

    本部分介绍了如何使用日志视图的 IAM 政策文件来控制哪些用户有权访问该日志视图中的日志条目。使用此方法时,您需要向日志视图的政策文件添加绑定,该绑定会授予指定的主账号对日志视图的访问权限。

    本部分还介绍了如何列出日志视图的 IAM 政策文件中包含的角色绑定。

    控制台

    如需更新日志视图的 IAM 政策文件,请执行以下操作:

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。
    4. 在日志存储桶的详情页面中,前往日志视图窗格。
    5. 对于要修改其 IAM 政策文件的日志视图,请点击 操作,然后选择调整权限

      权限弹出式窗口会打开并显示与日志视图关联的权限。

    6. 在权限弹出式窗口中,点击添加主账号

    7. 添加主账号部分,展开新的主账号菜单,然后选择主账号。

    8. 分配角色部分,选择 Logs View Accessor 角色。

    9. 点击保存

      权限弹出式窗口会根据新权限进行更新。

      • 标记为 Logs View Accessor (N) 的部分列出了具有项目级 Logs View Accessor 角色授权的各个主账号。这些主账号拥有项目中所有日志视图的访问权限。

      • 标记为 Logs View Accessor condition:Condition-specific descriptive text (N) 的部分会列出具有条件式项目级 Logs View Accessor 角色授权的主账号。这些主账号只能访问条件指定的日志视图。

      • 标记为 Logs View Accessor condition:abcde (N) 的部分列出了拥有日志视图级别授权的主账号。

      以下屏幕截图显示了权限弹出式窗口,其中两个主账号具有项目级角色授权(由项目图标 标识),一个主账号具有日志视图级授权:

      权限弹出式窗口插图。

    10. 如需关闭弹出式窗口,请点击 X

    gcloud

    如需更新日志视图的 IAM 政策文件,请执行以下操作:

    1. 运行 gcloud logging views add-iam-policy-binding 命令。

      在使用下面的命令数据之前,请先进行以下替换:

      • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
      • PRINCIPAL:您要向其授予角色的主账号的标识符。主账号标识符通常采用以下格式:PRINCIPAL-TYPE:ID。例如 user:my-user@example.com。 如需查看 PRINCIPAL 可以采用的格式的完整列表,请参阅主账号标识符
      • BUCKET_NAME:日志存储桶的名称。
      • LOCATION:日志存储桶的位置。
      • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

      执行 gcloud logging views add-iam-policy-binding 命令:

      Linux、macOS 或 Cloud Shell

      gcloud logging views add-iam-policy-binding LOG_VIEW_ID \
        --member=PRINCIPAL --role='roles/logging.viewAccessor' \
        --bucket=BUCKET_NAME --location=LOCATION \
        --project=PROJECT_ID

      Windows (PowerShell)

      gcloud logging views add-iam-policy-binding LOG_VIEW_ID `
        --member=PRINCIPAL --role='roles/logging.viewAccessor' `
        --bucket=BUCKET_NAME --location=LOCATION `
        --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud logging views add-iam-policy-binding LOG_VIEW_ID ^
        --member=PRINCIPAL --role='roles/logging.viewAccessor' ^
        --bucket=BUCKET_NAME --location=LOCATION ^
        --project=PROJECT_ID

      下面说明了添加单个绑定时的响应:

      Updated IAM policy for logging view [projects/PROJECT_ID/locations/global/buckets/BUCKET_NAME/views/LOG_VIEW_ID].
      bindings:
      - members:
        - PRINCIPAL
        role: roles/logging.viewAccessor
      etag: BwYXfSd9-Gw=
      version: 1
      

    2. 如需验证更新,请运行 gcloud logging views get-iam-policy 命令:

      在使用下面的命令数据之前,请先进行以下替换:

      • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
      • BUCKET_NAME:日志存储桶的名称。
      • LOCATION:日志存储桶的位置。
      • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

      执行 gcloud logging views get-iam-policy 命令:

      Linux、macOS 或 Cloud Shell

      gcloud logging views get-iam-policy LOG_VIEW_ID \
       --bucket=BUCKET_NAME --location=LOCATION \
       --project=PROJECT_ID

      Windows (PowerShell)

      gcloud logging views get-iam-policy LOG_VIEW_ID `
       --bucket=BUCKET_NAME --location=LOCATION `
       --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud logging views get-iam-policy LOG_VIEW_ID ^
       --bucket=BUCKET_NAME --location=LOCATION ^
       --project=PROJECT_ID

      如果日志视图不包含任何绑定,则响应仅包含一个 etag 字段。下面演示了日志视图包含单个绑定时的响应:

      bindings:
      - members:
        - PRINCIPAL
        role: roles/logging.viewAccessor
      etag: BwYXfSd9-Gw=
      version: 1
      

    Terraform

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

    如需使用 Terraform 为日志视图预配 IAM 关联,可以使用以下几种不同的资源:

    • google_logging_log_view_iam_policy
    • google_logging_log_view_iam_binding
    • google_logging_log_view_iam_member

    如需了解详情,请参阅 Cloud Logging LogView 的 IAM 政策

    如需使用 Terraform 列出日志视图的 IAM 关联,请使用数据源 google_logging_log_view_iam_policy

    Google Cloud 项目:添加角色绑定

    本部分介绍了如何向 Google Cloud 项目添加角色绑定,以及如何列出已附加到项目的绑定。使用此方法时,如需限制某个主账号只能访问存储在特定日志视图中的日志条目,您必须向授权添加 IAM 条件。

    控制台

    如需向Google Cloud 项目的 IAM 政策文件添加角色绑定,请在您创建日志存储桶的项目中执行以下操作:

    1. 在 Google Cloud 控制台中,前往 IAM 页面:

      前往 IAM

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

      IAM 页面会列出所有主账号、其 IAM 角色,以及这些角色所附加的任何条件(在项目级别应用)。此页面不会显示附加到日志视图的政策文件的角色绑定。

    2. 点击 授予访问权限

    3. 新主账号字段中,添加用户的邮件账号。

    4. 选择角色下拉菜单中,选择 Logs View Accessor

      此角色为用户提供所有视图的读取权限。如需限制用户对特定视图的访问权限,请根据资源名称添加条件。

      1. 点击添加 IAM 条件

      2. 输入条件的标题说明

      3. 条件类型下拉菜单中,选择资源 > 名称

      4. 运算符下拉菜单中,选择

      5. 字段中,输入日志视图的 ID,包括视图的完整路径。

        例如:

        projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID
      6. 点击保存以添加该条件。

    5. 点击保存以设置权限。

    gcloud

    如需向Google Cloud 项目的 IAM 政策文件添加角色绑定,请完成以下步骤:

    1. 使用您的条件创建 JSON 或 YAML 文件。

      例如,您可以创建一个名为 condition.yaml 且包含以下内容的文件:

      expression: "resource.name == \"projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID\""
      title: "My title"
      description: "My description"
      
    2. 可选:如需验证 JSON 或 YAML 文件的格式是否正确,请运行以下命令:

      gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
      
    3. 通过调用 gcloud projects add-iam-policy-binding 方法,更新 Google Cloud 项目的 IAM 政策。

      在使用以下命令之前,请先进行以下替换:

      • PROJECT_ID:项目的标识符。
      • PRINCIPAL:您要向其授予角色的主账号的标识符。主账号标识符通常采用以下格式:PRINCIPAL-TYPE:ID。例如 user:my-user@example.com。 如需查看 PRINCIPAL 可以采用的格式的完整列表,请参阅主账号标识符

      执行 gcloud projects add-iam-policy-binding 命令:

      gcloud projects add-iam-policy-binding PROJECT_ID --member=PRINCIPAL --role='roles/logging.viewAccessor' --condition-from-file=condition.yaml
      

      对上述命令的响应包含所有角色绑定。

      - condition:
          description: My description
          expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID"
          title: My title
        members:
        - PRINCIPAL
        role: roles/logging.viewAccessor
      
    4. 可选:如需列出 Google Cloud 项目的角色绑定,请使用 gcloud projects get-iam-policy 命令:

      gcloud projects get-iam-policy PROJECT_ID
      

      在使用以下命令之前,请先进行以下替换:

      • PROJECT_ID:项目的标识符。

      对上述命令的响应包含所有角色绑定。

      - condition:
          description: My description
          expression: resource.name == "projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID"
          title: My title
        members:
        - PRINCIPAL
        role: roles/logging.viewAccessor
      

    Terraform

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

    如需使用 Terraform 为项目预配 IAM 关联,可以使用几种不同的资源:

    • google_project_iam_policy
    • google_project_iam_binding
    • google_project_iam_member

    如需了解详情,请参阅项目的 IAM 政策

    如需使用 Terraform 列出项目的 IAM 关联,请使用数据源 google_project_iam_policy

    列出日志视图的所有角色绑定

    Google Cloud 控制台中的 IAM 页面会列出项目级角色绑定。此页面未列出附加到资源(例如日志视图)的角色绑定。本部分介绍了如何查看特定日志视图的所有角色绑定。

    如需列出已附加到日志视图的 IAM 绑定,请完成以下步骤。

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。
    4. 在日志存储桶的详情页面中,前往日志视图窗格。
    5. 对于要查看角色绑定的日志视图,请点击 操作,然后选择调整权限

      权限弹出式窗口会显示与日志视图关联的所有权限:

      • 标记为 Logs View Accessor (N) 的部分列出了具有项目级 Logs View Accessor 角色授权的各个主账号。这些主账号拥有项目中所有日志视图的访问权限。

      • 标记为 Logs View Accessor condition:Condition-specific descriptive text (N) 的部分会列出具有条件式项目级 Logs View Accessor 角色授权的主账号。这些主账号只能访问条件指定的日志视图。

      • 标记为 Logs View Accessor condition:abcde (N) 的部分列出了拥有日志视图级别授权的主账号。

      以下屏幕截图显示了权限弹出式窗口,其中两个主账号具有项目级角色授权(由项目图标 标识),一个主账号具有日志视图级授权:

      权限弹出式窗口插图。

    6. 如需关闭弹出式窗口,请点击 X

    列出日志存储桶中的日志视图

    控制台

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。

      系统随即会打开日志存储桶的详情页面。日志视图窗格会列出日志存储桶中的日志视图。

    gcloud

    如需列出为日志存储桶创建的日志视图,请使用 gcloud logging views list 命令。

    在使用下面的命令数据之前,请先进行以下替换:

    • BUCKET_NAME:日志存储桶的名称。
    • LOCATION:日志存储桶的位置。
    • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

    执行 gcloud logging views list 命令:

    Linux、macOS 或 Cloud Shell

    gcloud logging views list \
     --bucket=BUCKET_NAME --location=LOCATION \
     --project=PROJECT_ID

    Windows (PowerShell)

    gcloud logging views list `
     --bucket=BUCKET_NAME --location=LOCATION `
     --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud logging views list ^
     --bucket=BUCKET_NAME --location=LOCATION ^
     --project=PROJECT_ID

    响应数据是日志视图列表。对于每个日志视图,系统会显示过滤条件以及创建日期和上次更新日期。如果创建日期和更新日期为空,则表示该日志视图是在 Google Cloud 项目创建时创建的。以下示例输出显示,在所查询的日志存储桶上有两个视图 ID,即 _AllLogscompute

    VIEW_ID: _AllLogs
    FILTER:
    CREATE_TIME:
    UPDATE_TIME:
    
    VIEW_ID: compute
    FILTER: resource.type="gce_instance"
    CREATE_TIME: 2024-02-20T17:41:17.405162921Z
    UPDATE_TIME: 2024-02-20T17:41:17.405162921Z
    

    Terraform

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

    更新日志视图

    控制台

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。
    4. 在日志存储桶的详情页面中,前往日志视图窗格。
    5. 在您要更新详情的日志视图中,点击 更多,然后点击修改视图

      您可以修改日志视图的说明和过滤条件。

    6. 完成更改后,点击保存视图

    gcloud

    如需更新或修改日志视图,请使用 gcloud logging views update 命令。如果您不知道视图 ID,请参阅列出日志视图

    在使用下面的命令数据之前,请先进行以下替换:

    • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
    • BUCKET_NAME:日志存储桶的名称。
    • LOCATION:日志存储桶的位置。
    • FILTER:用于定义日志视图的过滤条件。如果为空,日志视图将包含所有日志。例如,如需按 Compute Engine 虚拟机实例日志过滤,请输入 "resource.type=gce_instance"
    • DESCRIPTION:日志视图的说明。例如,您可以为说明 "New description for the log view" 输入以下内容。
    • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

    执行 gcloud logging views update 命令:

    Linux、macOS 或 Cloud Shell

    gcloud logging views update LOG_VIEW_ID \
     --bucket=BUCKET_NAME --location=LOCATION \
     --log-filter=FILTER --description=DESCRIPTION \
     --project=PROJECT_ID

    Windows (PowerShell)

    gcloud logging views update LOG_VIEW_ID `
     --bucket=BUCKET_NAME --location=LOCATION `
     --log-filter=FILTER --description=DESCRIPTION `
     --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud logging views update LOG_VIEW_ID ^
     --bucket=BUCKET_NAME --location=LOCATION ^
     --log-filter=FILTER --description=DESCRIPTION ^
     --project=PROJECT_ID

    此命令不会提供响应。如需确认更改,您可以运行 gcloud logging views describe 命令。

    Terraform

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

    如需使用 Terraform 修改项目、文件夹或组织中的日志视图,请使用 Terraform 资源 google_logging_log_view

    删除日志视图

    如果您不再需要自己创建的日志视图,可以将其删除。不过,在删除日志视图之前,我们建议您先验证该日志视图是否没有被其他资源(例如已保存的查询)引用。

    您无法删除 _Default 日志存储桶中的 _Default 日志视图。

    控制台

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

      前往日志存储

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

    2. 选择存储日志存储桶的项目、文件夹或组织。
    3. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。
    4. 在日志存储桶的详情页面中,前往日志视图窗格,然后选中要删除的日志视图的复选框。
    5. 日志视图窗格的工具栏中,点击 删除视图,然后完成对话框。

    gcloud

    如需删除日志视图,请执行以下操作:

    1. 建议:检查您的 Google Cloud 项目,确保日志视图未被引用。不妨考虑检查以下内容:

      • 从已保存或共享的Logs ExplorerLog Analytics 页面运行的查询。
      • 自定义信息中心。
    2. 使用 gcloud logging views delete 命令。 如果您不知道视图 ID,请参阅列出日志视图

      在使用下面的命令数据之前,请先进行以下替换:

      • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
      • BUCKET_NAME:日志存储桶的名称。
      • LOCATION:日志存储桶的位置。
      • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

      执行 gcloud logging views delete 命令:

      Linux、macOS 或 Cloud Shell

      gcloud logging views delete LOG_VIEW_ID \
       --bucket=BUCKET_NAME --location=LOCATION \
       --project=PROJECT_ID

      Windows (PowerShell)

      gcloud logging views delete LOG_VIEW_ID `
       --bucket=BUCKET_NAME --location=LOCATION `
       --project=PROJECT_ID

      Windows (cmd.exe)

      gcloud logging views delete LOG_VIEW_ID ^
       --bucket=BUCKET_NAME --location=LOCATION ^
       --project=PROJECT_ID

      响应确认删除。例如,下面显示了删除名为 tester 的日志视图的响应:

      Deleted [tester].
      

    Terraform

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

    描述日志视图

    控制台

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

      前往日志存储

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

    2. 日志存储桶窗格中,选择托管日志视图的日志存储桶的名称。
    3. 在日志存储桶的详情页面中,前往日志视图窗格。
    4. 在您要查看详情的日志视图中,点击 更多,然后点击修改视图
    5. 如要关闭对话框而不保存任何更改,请点击取消

    gcloud

    如需检索日志视图的详细信息,请使用 gcloud logging views describe 命令。如果您不知道视图 ID,请参阅列出日志视图

    在使用下面的命令数据之前,请先进行以下替换:

    • LOG_VIEW_ID:日志视图的标识符,长度不得超过 100 个字符,并且只能包含字母、数字、下划线和连字符。
    • BUCKET_NAME:日志存储桶的名称。
    • LOCATION:日志存储桶的位置。
    • PROJECT_ID:项目的标识符。 如有必要,请将 --project 替换为 --folder--organization

    执行 gcloud logging views describe 命令:

    Linux、macOS 或 Cloud Shell

    gcloud logging views describe LOG_VIEW_ID \
     --bucket=BUCKET_NAME --location=LOCATION\
     --project=PROJECT_ID

    Windows (PowerShell)

    gcloud logging views describe LOG_VIEW_ID `
     --bucket=BUCKET_NAME --location=LOCATION`
     --project=PROJECT_ID

    Windows (cmd.exe)

    gcloud logging views describe LOG_VIEW_ID ^
     --bucket=BUCKET_NAME --location=LOCATION^
     --project=PROJECT_ID

    响应始终包含日志视图的说明和完全限定名称。如果过滤条件字段不为空,则还会包含过滤条件。以下是示例响应:

    createTime: '2024-02-20T17:41:17.405162921Z'
    filter: resource.type="gce_instance"
    name: projects/my-project/locations/global/buckets/my-bucket/views/compute
    updateTime: '2024-02-20T17:41:17.405162921Z'
    

    Terraform

    您可以使用 Terraform 创建和修改日志视图。不过,您无法使用 Terraform 显示日志视图的详细信息。

    查看与日志视图关联的日志

    您可以使用Logs Explorer或 Log Analytics 页面在日志视图中显示日志条目。使用Logs Explorer时,您必须配置范围并选择日志视图。使用 Log Analytics 页面时,您可以查询日志视图。

    如需使用Logs Explorer查询日志视图,请执行以下操作:

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

      前往 Logs Explorer

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

    2. 选择要搜索日志条目的资源:

      • 当工具栏显示 项目日志时,展开菜单,选择日志视图,然后选择要查询的日志视图。

      • 当工具栏显示 1 个日志视图之类的内容时,展开菜单,选择日志视图,然后选择要查询的日志视图。

      • 否则,该工具栏会显示 图标和日志范围的名称,例如 _Default。展开菜单,选择日志视图,然后选择要查询的日志视图。

    如需了解详情,请参阅Logs Explorer文档。

    后续步骤

    如需了解如何控制对日志条目中特定字段的访问权限,请参阅配置字段级访问权限