日志排除

本页面介绍了如何使用 Cloud Console 和 Logging API 从提取中排除日志。

资源使用情况页面会跟踪项目中的日志量。日志路由器为您提供了相关工具,用于停用所有日志提取操作或排除(舍弃)您不感兴趣的日志条目,以便最大限度降低超出每月配额的日志费用。如需详细了解系统如何处理排除的日志条目,请转到本页面中的排除的工作原理

如需详细了解 Cloud Logging 费用,请参阅价格。请注意,如果您在发送 Virtual Private Cloud 流日志后又从 Cloud Logging 中排除这些日志,则需支付 VPC 流日志生成费用

跟踪日志使用情况

如需跟踪项目的日志量,请转到 Cloud Logging 控制台中的资源使用情况页面:

转到“资源使用情况”

页面顶部显示了项目接收的日志的汇总统计信息:

资源使用情况汇总统计信息

此处报告了四种统计信息:

  • 上月提取的日志量:您的项目在上个日历月接收的日志量。

  • 本月提取的日志量:您的项目自本月第一天以来接收的日志量。

  • 排除的日志量:自本月第一天以来您从项目中排除的日志量。此数字不包含在本月提取的日志量中。本页面的后面部分会介绍排除日志的相关内容。

  • 预计提取日志量:根据当前使用情况,预计您的项目将在本月结束时接收的日志量。

日志量不包含某些审核日志:所有管理员活动审核日志和所有系统事件审核日志。这些日志是免费的,不能排除或停用。

您还可以按资源类型查看细分的日志使用情况。如需了解详情,请转到本页面上的查看资源类型排除项

排除的工作原理

下图展示了系统如何在 Cloud Logging 中处理排除的日志条目:

演示 Cloud Logging 如何路由日志条目的图。

以下情况适用于 Logging 中已排除的日志条目:

  • 排除的日志条目不计入提供给项目的 Logging 配额。如需了解详情,请参阅 Logging 价格

  • 日志浏览器中不显示排除的日志条目;此类日志条目不会计入基于日志的指标;它们不适用于 Error Reporting 或 Cloud Debugger。

  • 您可以使用包含接收器目标位置的日志接收器将日志条目导出到 Cloud Logging 以外。这些相同日志也可以从提取中排除。如需了解详情,请参阅日志导出

  • 无法停用的审核日志也无法排除;但这些类型的审核日志是免费的。

排除项有以下两种:

  • 借助排除项过滤条件,您可以根据过滤条件表达式灵活选择要排除的日志条目。您可以使用排除项过滤条件来随机选择要排除的日志条目。

  • 借助资源类型排除项,您可以阻止来自特定类型资源的所有日志。

在决定是否要排除某个日志条目时,Logging 会将这两种排除项都考虑在内。如果有任何资源类型排除项或任何排除项过滤条件与日志条目匹配,则排除该日志条目。

通过创建排除项过滤条件,您可以控制要排除(舍弃)哪些日志条目。例如,您可以从单个虚拟机实例(而不是从所有虚拟机实例)中排除日志条目。

如果您同时使用排除项过滤器和资源类型排除项,它们可能会互相重叠。如果某个日志条目来自已停用的资源类型,或者它与本部分讨论的其中一个排除项过滤器匹配,则排除该日志条目。请注意,这是技术上的区别,因为正如前文所述,Logging 使用排除项过滤条件来实现资源类型排除项。

资源使用情况页面上,提取标签页上的每资源类型表同时反映了资源类型排除项和排除项过滤条件。即使不使用资源类型排除项,您也可以通过该表格跟踪排除项过滤条件的效果。

排除项限制

在一个项目中,最多可以有 50 个排除项过滤条件。此限制包括在 Cloud Logging 控制台或 API 中创建的排除项过滤条件和资源类型排除项。

排除项时间

Logging API 接收日志后,会排除这些日志。因此,排除日志不会减少 entries.write API 调用的数量。

创建排除项过滤器

您可以为新日志接收器或现有接收器创建排除项过滤条件。

为新接收器创建排除项过滤条件

要使用日志路由器为新日志接收器创建排除项过滤条件,请执行以下操作:

  1. 按照创建接收器过程进行操作。

  2. 选择要从接收器中过滤掉的日志(可选)步骤中,您可以创建排除项过滤条件以排除日志。

  3. 点击添加排除对象

  4. 排除项过滤条件名称字段中输入名称。

  5. 输入排除项过滤条件

  6. 构建排除项过滤条件部分,输入与要排除的日志条目匹配的过滤条件表达式。

  7. 点击添加排除项,根据需要添加其他过滤条件。

  8. 完成后,点击创建接收器

为现有接收器创建排除项过滤条件

要使用日志路由器为现有日志接收器创建排除项过滤条件,请执行以下操作:

  1. 从“日志记录”菜单中选择日志路由器

    转到“日志路由器”

  2. 对于要添加排除项过滤条件的接收器,请点击更多

  3. 点击修改接收器

  4. 选择要从接收器中过滤掉的日志(可选)部分,创建排除项过滤条件以排除日志。

  5. 点击添加排除对象

  6. 排除项过滤条件名称字段中输入名称。

  7. 输入排除项过滤条件

  8. 构建排除项过滤条件部分,输入与要排除的日志条目匹配的过滤条件表达式。

  9. 点击添加排除项,根据需要添加其他过滤条件。

  10. 完成后,点击更新接收器

在创建过滤条件时,您可能会遇到以下某种情况:

  • 如果您修改了 _Default 接收器的过滤条件,则可能需要恢复默认过滤条件。为此,请在构建包含项过滤条件字段中输入以下内容:

    NOT LOG_ID("cloudaudit.googleapis.com/activity") AND NOT \
    LOG_ID("externalaudit.googleapis.com/activity") AND NOT \
    LOG_ID("cloudaudit.googleapis.com/system_event") AND NOT \
    LOG_ID("externalaudit.googleapis.com/system_event") AND NOT \
    LOG_ID("cloudaudit.googleapis.com/access_transparency") AND NOT \
    LOG_ID("externalaudit.googleapis.com/access_transparency")
    
  • 您可能希望将所有日志路由到目标位置,而不排除任何日志。为此,请将构建包含项过滤条件字段留空。

  • 您可能需要排除所有日志,直至到达目标位置。为此,请停用该目标位置的接收器

查看排除项过滤器

要查看当前的排除项过滤条件,请执行以下操作:

  1. 从“日志记录”菜单中选择日志路由器

    转到“日志路由器”

  2. 对于要查看排除项过滤条件的接收器,请点击更多

  3. 选择查看接收器详情

  4. 面板随即显示接收器的详细信息,包括排除项过滤条件。

    “接收器详情”面板的图片

    在此示例中,系统会显示 _Default 存储分区的详细信息,并且日志记录功能已停用,由 google-ui-logs-ingestion-off 过滤条件指示。

修改排除项

您可以修改现有的排除项过滤条件,以排除更多或更少的日志条目。

  1. 从“日志记录”菜单中选择日志路由器

    转到“日志路由器”

  2. 对于要查看排除项过滤条件的接收器,请点击更多

  3. 点击修改接收器

  4. 构建排除项过滤条件部分中,修改过滤条件表达式以匹配要排除的日志条目。

  5. 点击添加排除项,根据需要添加其他过滤条件。

  6. 完成后,点击更新接收器

最佳做法:请勿修改或删除由 Logging 将其作为资源类型排除项的一部分而创建的排除项过滤条件。使用提取标签页上的停用日志源启用日志源选项管理这些过滤条件。

移除排除项

要修改、停用或删除排除项过滤条件,请按照修改排除项指南删除特定接收器的排除项。

使用资源类型排除项

默认情况下,项目会接收来自所有类型资源的所有日志。要舍弃来自特定类型资源的所有日志,请使用资源类型排除项 (resource type exclusions)。

资源类型排除项是 Cloud Logging 控制台的一项功能。当您创建资源类型排除项时,Logging 会创建一个实现该排除项的排除项过滤条件。如需了解详情,请参阅排除项的工作原理

创建资源类型排除项

如需排除(舍弃)来自特定类型资源的所有日志,请完成创建排除项过滤条件步骤,以便为新的或现有的日志接收器创建排除项过滤条件。

查看资源类型排除项

如需按资源类型查看日志使用情况以及资源类型排除项,请执行以下操作:

  1. 转到 Cloud Logging 控制台中的资源使用情况页面:

    转到“资源使用情况”

  2. 选择汇总信息下的提取标签页(默认显示)。日志提取表按资源类型显示了日志使用情况:

    资源使用情况表

该表显示了本月和上个月向项目发送日志的每种资源类型的日志使用情况信息。可能存在仅上个月发送了日志而本月未发送的资源类型,这些资源类型也列在此表中。

提取状态列是一个近似状态,指明是否存在与每种资源类型相关的排除项。状态可以是以下任何一种:

  • 未提取:有一个或多个排除项以 100% 的采样率准确定位此资源类型。这意味着排除项的过滤条件完全由 resource.type=[THIS_RESOURCE_TYPE] 组成。

  • 全部提取:本月到目前为止,没有排除此资源类型的任何日志条目,也不存在准确定位此资源类型的排除项。

  • 部分提取:有一个或多个排除项以介于 0% 到 100% 之间的采样率定位此资源类型。如果此资源类型在本月有任何日志条目被排除,则此状态将保留到月底,即使所有排除项目前均已移除也是如此。如需了解详情,请转到本页面上的修改排除项

或者,您可以在排除项标签上检查资源类型排除项。Logging 通过创建排除项过滤条件来实现资源类型排除项。如需了解详情,请参阅查看排除项过滤条件

API 中的排除项

如需在 Logging API 中创建排除项过滤条件,请使用 projects.exclusions.create 方法。

该 API 还提供了查看、删除和更新排除项过滤条件的方法。

此外,该 API 中还有一些排除方法,适用于由组织、结算帐号和文件夹接收的日志。这些排除项只能在 Logging API 中创建;它们在 Cloud Logging 控制台中不受支持。

如需了解可能在排除项中有用的日志查询的示例,请参阅查询示例

API 中的资源类型排除项

资源类型排除项不是 API 中的一种单独的排除项。如需创建一个排除项来舍弃来自特定类型资源的所有日志条目,请创建一个排除项过滤条件并使用指定该资源类型的日志查询:

resource.type = [THE_RESOURCE_TYPE]

API 中的采样排除项

如需排除少于 100% 的匹配日志条目,请在日志查询中使用 sample 函数

导出排除的日志

您可以先将日志条目导出至 Cloud Storage、BigQuery 或 Pub/Sub,然后再将其排除,这样就不会永久丢失您排除的日志条目。

如需启动排除项并导出排除的日志,请执行以下操作:

  1. 创建与要排除和导出的日志条目匹配的高级日志查询

    提示:编写过滤条件,使其与默认启用的任何审核日志都不匹配。匹配这些审核日志条目不会影响排除项,但会导致导出更多日志条目。

  2. 使用日志查询创建一个导出接收器,然后开始导出匹配的日志条目。

  3. 使用日志查询创建一个排除项过滤条件,然后开始排除匹配的日志条目。

要停止排除项并导出排除的日志,请先停用排除项过滤条件,然后再停止导出接收器。

如需详细了解如何导出日志,请参阅导出日志

导出价格

导出的日志不会产生 Cloud Logging 费用,但可能会产生目标位置费用。如需了解详情,请查看相应产品的价格页面:

另请注意,如果您在发送 Virtual Private Cloud 流日志后又从 Cloud Logging 中排除这些日志,则除了目标位置费用外,还需支付 VPC 流日志生成费用