本文档介绍了汇总接收器,借助汇总接收器,您可以整理来自文件夹或组织中的资源的日志条目,并将其路由到支持的目标位置。我们建议您使用汇总接收器将日志数据路由到一个中心存储位置。
汇总接收器简介
汇总接收器与项目级接收器类似,因为汇总接收器包含过滤条件和目标位置。但是,日志路由器会将以下日志条目发送到汇总接收器:
- 源自文件夹或组织的所有日志条目。
- 源自文件夹或组织的子资源的所有日志条目。
例如,如果您创建文件夹级汇总接收器,则日志路由器会将源自该文件夹或其子资源中的所有日志条目发送到该接收器。
如果日志条目的资源层次结构中存在汇总接收器,日志路由器会先将日志条目发送到这些接收器。由于汇总接收器可以是拦截或非拦截汇总接收器,因此日志路由器可能不会发送由汇总接收器路由的已发送到项目级接收器的日志条目。
- 拦截汇总接收器
拦截汇总接收器会阻止日志条目路由到子资源中的接收器,但日志条目源自的资源中的
_Required
接收器除外。拦截汇总接收器可用于阻止日志条目的重复副本存储在多个位置。例如,假设您需要启用数据访问审核日志以进行审核。为了简化分析,您需要将这些日志存储在一个中心位置。但是,出于安全和费用方面的原因,您还需要阻止这些日志在项目级别存储。对于这种情况,您可以创建拦截汇总接收器。
- 非拦截汇总接收器
非拦截汇总接收器不会影响日志条目路由到其他接收器的方式。也就是说,即使日志条目与非拦截汇总接收器的过滤条件匹配,该日志条目也会转发到日志条目的资源层次结构中的其他接收器。借助非拦截汇总接收器,您可以在生成日志条目的资源中保持对日志条目的可见性。
例如,您可以创建一个非拦截汇总接收器,将组织包含的文件夹生成的所有日志条目路由到一个中心日志存储桶。日志条目存储在该中心日志存储桶中。不过,由于接收器是非拦截接收器,因此日志路由器还会将日志条目发送到生成它们的资源中的日志接收器。
路由示例
本部分说明了源自项目的日志条目如何流经其资源层次结构中的接收器。
示例:不存在汇总接收器
如果日志条目的资源层次结构中不存在汇总接收器,则系统会将日志条目发送到日志条目源自的项目中的日志接收器。如果日志条目与接收器的包含项过滤条件匹配,但与接收器的任何排除项过滤条件都不匹配,则项目级接收器会将日志条目路由到接收器的目标位置。
示例:存在非拦截汇总接收器
假设日志条目的资源层次结构中存在非拦截汇总接收器。日志路由器将日志条目发送到非拦截汇总接收器后,会发生以下情况:
如果日志条目与包含项过滤条件匹配,但与任何排除项过滤条件都不匹配,则非拦截汇总接收器会将日志条目路由到接收器的目标位置。
日志路由器会将日志条目发送到日志条目源自的项目中的日志接收器。
如果日志条目与接收器的包含项过滤条件匹配,但与接收器的任何排除项过滤条件都不匹配,则项目级接收器会将日志条目路由到接收器的目标位置。
示例:存在拦截汇总接收器
假设日志条目的资源层次结构中存在拦截汇总接收器。日志路由器将日志条目发送到拦截汇总接收器后,会发生以下情况之一:
日志条目与包含项过滤条件匹配,但与任何排除项过滤条件都不匹配:
- 日志条目会路由到拦截汇总接收器的目标位置。
- 日志条目会发送到日志条目源自的项目中的
_Required
接收器。
日志条目与包含项过滤条件不匹配,或者与至少一个排除项过滤条件匹配:
- 日志条目不会由拦截汇总接收器路由。
日志路由器会将日志条目发送到日志条目源自的项目中的日志接收器。
如果日志条目与接收器的包含项过滤条件匹配,但与接收器的任何排除项过滤条件都不匹配,则项目级接收器会将日志条目路由到接收器的目标位置。
汇总接收器支持的目标位置
本部分列出了汇总接收器支持的目标位置。
拦截接收器
拦截汇总接收器的目标位置必须是Google Cloud 项目。
目标项目中的日志接收器会将日志条目重新路由到其目标位置。除了项目之外,所有目标位置都受支持。例如,目标项目中的日志接收器可能会将日志条目重新路由到日志存储桶。
非拦截接收器
非拦截汇总接收器的目标位置可以是以下任一项:
接收器的目标位置可以位于与接收器不同的资源中。例如,您可以使用日志接收器将日志条目从一个项目路由到存储在其他项目中的日志存储桶。
支持以下目标位置:
- Google Cloud 项目
如果您希望目标项目中的日志接收器重新路由日志条目,或者您已创建拦截汇总接收器,请选择此目标位置。项目中作为接收器目标位置的日志接收器可以将日志条目重新路由到除项目之外的任何受支持的目标位置。
- 日志存储桶
如果您想将日志数据存储在由 Cloud Logging 管理的资源中,请选择此目标位置。您可以使用 Logs Explorer 和 Log Analytics 等服务查看和分析存储在日志存储桶中的日志数据。
如果您想将日志数据与其他业务数据联接,可以将日志数据存储在日志存储桶中,然后创建关联的 BigQuery 数据集。关联数据集是一个只读数据集,可以像任何其他 BigQuery 数据集一样进行查询。
- BigQuery 数据集
- 如果您想将日志数据与其他业务数据联接,请选择此目标位置。您指定的数据集必须启用了写入功能。请勿将接收器的目标位置设置为关联的 BigQuery 数据集。关联数据集为只读数据集。
- Cloud Storage 存储桶
- 如果您想长期存储日志数据,请选择此目标位置。Cloud Storage 存储桶可以位于作为日志条目来源的项目中,也可以位于其他项目中。日志条目会存储为 JSON 文件。
- Pub/Sub 主题
- 如果您想从Google Cloud 导出日志数据,然后使用第三方集成(例如 Splunk 或 Datadog),请选择此目标位置。日志条目的格式会设置为 JSON,然后路由到 Pub/Sub 主题。
最佳做法
我们建议汇总接收器的目标位置为 Google Cloud 项目。使用此目标位置时,目标 Google Cloud 项目中的日志接收器会重新路由日志条目。_Required
接收器仅会路由与其过滤条件匹配且源自定义接收器的资源的日志条目。因此,如果您想存储与 _Required
接收器的过滤条件匹配的日志条目的其他副本,则必须创建自定义日志接收器或修改 _Default
日志接收器的过滤条件。
创建拦截接收器时,我们建议您执行以下操作:
考虑子资源是否需要独立控制其日志条目的路由。如果子资源需要独立控制某些日志条目,请验证拦截接收器是否不会路由这些日志条目。
在拦截接收器的说明中添加联系信息。如果管理拦截接收器的人员与管理日志条目被拦截的项目的管理人员不同,这种方式可能会有所帮助。
先创建一个非拦截汇总接收器,以验证是否路由了正确的日志条目,从而测试接收器配置。
拦截汇总接收器和基于日志的指标
基于日志的指标是指源自日志条目内容的 Cloud Monitoring 指标。日志条目的路由方式决定了该日志条目可以计入哪些基于日志的指标。由于拦截汇总的接收器会影响日志条目的路由方式,因此创建此类接收器可能会导致现有基于日志的指标的值发生变化。
如需了解详情,请参阅路由日志条目如何影响基于日志的指标。
汇总接收器和 VPC Service Controls
使用汇总接收器和 VPC Service Controls 时,存在以下限制:
汇总接收器可以访问服务边界内的项目中的数据。如需限制汇总接收器访问边界内的数据,我们建议使用 IAM 管理Logging权限。
VPC Service Controls 不支持将文件夹或组织资源添加到服务边界。因此,您无法使用 VPC Service Controls 保护文件夹级和组织级日志,包括汇总日志。如需在文件夹或组织级别管理 Logging 权限,我们建议使用 IAM。
如果您使用文件夹级或组织级接收器将日志路由到服务边界保护的资源,则必须向服务边界添加入站流量规则。入站流量规则必须允许从汇总接收器使用的服务账号访问资源。如需了解详情,请参阅以下页面:
为服务边界指定入站流量或出站流量政策时,如果您使用日志接收器将日志路由到 Cloud Storage 资源,则不能将
ANY_SERVICE_ACCOUNT
和ANY_USER_ACCOUNT
用作身份类型。不过,您可以将ANY_IDENTITY
用作身份类型。
后续步骤
如需了解如何创建汇总接收器,请参阅整理组织级和文件夹级日志并将其路由到支持的目标位置
如需查看相关教程,请参阅汇总和存储组织的日志。
如需了解如何管理现有接收器,请参阅将日志路由到支持的目标位置:管理接收器。
如需了解如何在目标位置查看日志,以及日志的格式和组织方式,请参阅查看接收器目标位置中的日志。