本文档介绍了如何在 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
视图。
日志视图过滤器
每个日志视图都包含一个过滤条件,用于确定该视图中显示哪些日志条目。过滤条件可以包含逻辑 AND
和 NOT
运算符;但不能包含逻辑 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
格式转换为更适合您的格式。
准备工作
在创建或更新日志视图之前,请完成以下步骤:
如果您尚未创建,请在相应的 Google Cloud 项目中创建一个 Logging 存储分区,并为其配置自定义日志视图。
-
如需获得创建和管理日志视图以及授予对日志视图的访问权限所需的权限,请让管理员向您授予项目的以下 IAM 角色:
-
Logs Configuration Writer (
roles/logging.configWriter
) -
如需向项目添加角色绑定,请执行以下操作:
Project IAM Admin (
roles/resourcemanager.projectIamAdmin
) -
如需向日志视图添加角色绑定,请执行以下操作:Logging Admin (
roles/logging.admin
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
-
Logs Configuration Writer (
-
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.
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,然后使用您的用户凭据设置应用默认凭据。
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
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.
如需了解详情,请参阅 Google Cloud 身份验证文档中的为本地开发环境设置 ADC。
确定要在视图中包含的日志。您可以使用这些信息指定日志视图的过滤条件。
确定哪些人应有权访问日志视图,以及您是想向日志视图的 IAM 政策还是 Google Cloud 项目添加绑定。如需了解详情,请参阅控制对日志视图的访问权限。
创建日志视图
对于每个日志存储桶,您最多可为其创建 30 个日志视图。
控制台
如需创建日志视图,请执行以下操作:
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
- 在日志存储分区窗格中,选择要为其创建日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格,然后点击创建日志视图。
在定义日志视图页面中,完成以下操作:
- 为日志视图输入一个名称。日志视图创建后,您将无法更改此名称。名称不得超过 100 个字符,且只能包含字母、数字、下划线和连字符。
- 输入日志视图的说明。
- 在构建过滤条件字段中,输入一个表达式,用于确定日志分桶中的哪些日志条目会包含在日志视图中。如需了解此字段的结构,请参阅本文档的日志视图过滤条件部分。
可选:如需向日志视图资源添加角色绑定,请执行以下操作:
- 点击继续,进入设置权限页面。
- 点击 授予访问权限。
- 在添加主账号部分中,展开新的主账号菜单,然后选择主账号。
- 在分配角色部分,选择 Logs View Accessor 角色。
- 点击保存。
点击保存视图。
如果您在创建流程中未向主账号授予对日志视图的访问权限,请完成以下部分中的步骤。
gcloud
如需创建日志视图,请执行以下操作:
运行
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
命令。向主账号授予日志视图访问权限。以下部分包含有关这些步骤的信息。
Terraform
如需了解如何应用或移除 Terraform 配置,请参阅基本 Terraform 命令。 如需了解详情,请参阅 Terraform 提供程序参考文档。
如需使用 Terraform 在项目、文件夹或组织中创建日志视图,请执行以下操作:
使用 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
:简要说明。
向主账号授予日志视图访问权限。以下部分包含有关这些步骤的信息。
授予对日志视图的访问权限
如需将主账号限制为只能查看用户定义的日志存储分区中的特定日志视图,您可以采用以下两种方法:
创建大量日志视图时,我们建议您使用日志视图的 IAM 政策文件来控制访问权限。
日志视图:添加角色绑定
本部分介绍了如何使用日志视图的 IAM 政策文件来控制哪些用户有权访问该日志视图中的日志条目。使用此方法时,您需要向日志视图的政策文件添加绑定,该绑定会向指定的主账号授予对日志视图的访问权限。
本部分还介绍了如何为日志视图列出 IAM 政策文件中包含的角色绑定。
控制台
如需更新日志视图的 IAM 政策文件,请执行以下操作:
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
- 在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格。
对于要修改 IAM 政策文件的日志视图,请点击 more_vert 操作,然后选择调整权限。
系统会打开权限动作条,并显示与日志视图关联的权限。
在权限弹出式窗口中,点击添加主账号。
在添加主账号部分,展开新的主账号菜单,然后选择主账号。
在分配角色部分,选择 Logs View Accessor 角色。
点击保存。
权限动作条会随新权限更新。
标记为 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) 的部分列出了拥有日志视图级授予的主账号。
以下屏幕截图显示了权限动作条,其中两个主账号具有项目级角色授予(以项目图标
表示),一个主账号具有日志视图级授予:
如需关闭该动作条,请点击 X。
gcloud
如需更新日志视图的 IAM 政策文件,请执行以下操作:
运行
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
如需验证更新,请运行
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 政策文件添加角色绑定,请在创建日志存储分区的项目中执行以下操作:
-
在 Google Cloud 控制台中,进入 IAM 页面:
如果您使用搜索栏查找此页面,请选择子标题为 IAM 和管理的结果。
IAM 页面会列出在项目级应用的所有主账号、其 IAM 角色以及与这些角色关联的任何条件。此页面不会显示附加到日志视图政策文件的角色绑定。
点击
授予访问权限。在新主账号字段中,添加用户的电子邮件账号。
在选择角色下拉菜单中,选择 Logs View Accessor。
此角色为用户提供所有视图的读取权限。如需限制用户对特定视图的访问权限,请根据资源名称添加条件。
点击添加 IAM 条件。
输入条件的标题和说明。
在条件类型下拉菜单中,依次选择资源 > 名称。
在运算符下拉菜单中,选择 是。
在值字段中,输入日志视图的 ID,包括视图的完整路径。
例如:
projects/PROJECT_ID/locations/LOCATION/buckets/BUCKET_NAME/views/LOG_VIEW_ID
点击保存以添加该条件。
点击保存以设置权限。
gcloud
如需向 Google Cloud 项目的 IAM 政策文件添加角色绑定,请完成以下步骤:
创建包含条件的 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"
可选:如需验证 JSON 或 yaml 文件的格式是否正确,请运行以下命令:
gcloud alpha iam policies lint-condition --condition-from-file=condition.yaml
通过调用
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
可选:如需列出 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 绑定,请完成以下步骤。
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
- 在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格。
对于您要查看角色绑定的日志视图,请点击 more_vert 操作,然后选择调整权限。
权限动作条会显示与日志视图关联的所有权限:
标记为 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) 的部分列出了拥有日志视图级授予的主账号。
以下屏幕截图显示了权限动作条,其中两个主账号具有项目级角色授予(以项目图标
表示),一个主账号具有日志视图级授予:
如需关闭该动作条,请点击 X。
列出日志存储分区中的日志视图
控制台
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
系统会打开日志存储分区的详情页面。Log views 窗格会列出日志存储分区中的日志视图。
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,即
_AllLogs
和compute
: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 列出日志视图。
更新日志视图
控制台
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
- 在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格。
在要更新其详细信息的日志视图中,点击 more_vert 更多,然后点击修改视图。
您可以修改日志视图的说明和过滤条件。
完成更改后,点击保存视图。
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
日志视图。控制台
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 选择存储日志存储分区的项目、文件夹或组织。
- 在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格,然后选中要删除的日志视图对应的复选框。
- 在日志视图窗格的工具栏中,点击 Delete view(删除视图),然后完成对话框。
gcloud
如需删除日志视图,请执行以下操作:
建议:检查您的 Google Cloud 项目,确保未引用日志视图。不妨考虑检查以下方面:
- 从已保存或共享的 Logs Explorer 或 Log Analytics 页面运行的查询。
- 自定义信息中心。
使用
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 提供程序参考文档。
说明日志视图
控制台
-
在 Google Cloud 控制台中,转到日志存储页面:
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
- 在日志存储分区窗格中,选择托管日志视图的日志存储分区的名称。
- 在日志存储分区的详情页面中,前往日志视图窗格。
- 在要查看详细信息的日志视图中,点击 more_vert 更多,然后点击修改视图。
- 如要关闭对话框而不保存任何更改,请点击取消。
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 显示日志视图的详细信息。
查看与日志视图关联的日志
您可以使用日志浏览器或 Log Analytics 页面在日志视图中显示日志条目。使用日志浏览器时,您必须配置范围并选择日志视图。使用 Log Analytics 页面时,您可以查询日志视图。
如需使用日志浏览器查询日志视图,请执行以下操作:
-
在 Google Cloud 控制台中,转到 Logs Explorer 页面。
如果您使用搜索栏查找此页面,请选择子标题为 Logging 的结果。
选择要搜索日志条目的资源:
当工具栏显示
Project logs 时,展开菜单,选择 Log view,然后选择要查询的日志视图。
当工具栏显示
1 个日志视图之类的内容时,展开菜单,选择日志视图,然后选择要查询的日志视图或日志视图。
否则,工具栏会显示
图标和日志范围的名称,例如 _Default。展开菜单,选择日志视图,然后选择要查询的日志视图。
如需了解详情,请参阅 Logs Explorer 文档。
后续步骤
如需了解如何控制对日志条目中特定字段的访问权限,请参阅配置字段级访问权限。
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-03-12。