日志导出概览

本页面从概念上大致介绍了如何使用 Cloud Logging 导出日志。

如需了解如何导出日志,请转到本页面上的后续步骤

您可以将部分或全部日志导出到 Cloud Logging 之外。导出日志可能是为了实现以下目的:

  • 延长日志的存储时间。Logging 存储日志的时间通常为数周,而非数年。如需了解详情,请参阅日志保留期限
  • 针对日志使用大数据分析工具。
  • 将日志流式传输到其他应用、其他存储区或第三方。

如需进一步探索常见的日志记录导出场景,请参阅导出到 Cloud Logging 的设计模式:日志记录导出场景

导出的工作原理

下图演示了 Cloud Logging 如何处理导出的日志条目:

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

所有日志(包括审核日志、平台日志和用户日志)都会发送到 Cloud Logging API,并流经日志路由器。日志路由器根据现有规则检查每个日志条目,以确定要提取(存储)的日志条目、要包含在导出中的日志条目以及要舍弃的日志条目。如需了解详情,请参阅日志路由器概览

导出时,您需要编写一个用于选择要导出的日志条目的查询,并在 Cloud Storage、BigQuery 或 Cloud Pub/Sub 中选择一个目标位置。查询和目标位置保存在名为接收器的对象中。您可以在 Google Cloud 项目、组织、文件夹和结算帐号中创建接收器。

接收器属性和术语

接收器具有以下属性:

  • 接收器标识符:接收器的名称,例如 my-vm-error-sink

  • 父级资源:您在其中创建接收器的资源。父级资源通常是一个项目,但它可以是以下任何一项:

    "projects/[PROJECT_ID]"
    "folders/[FOLDER_ID]"
    "billingAccounts/[BILLINGACCOUNT_ID]"
    "organizations/[ORGANIZATION_ID]"
    

    接收器只能导出属于其父级资源的日志。如需了解此规则的一种例外情况,请参阅以下汇总导出属性。

    接收器的完整资源名称包括其父级资源和接收器标识符。例如:

    "projects/[PROJECT_ID]/sinks/[SINK_ID]"
    
  • 日志过滤条件:选择要通过此接收器导出哪些日志条目。如需查看查询示例,请转到查询示例

  • 目标位置:表示要将与您的查询匹配的日志条目发送到哪个位置。支持以下 3 种目标位置:

    • Cloud Storage 存储分区可提供低价的长期存储服务:

      storage.googleapis.com/[BUCKET_ID]
      
    • BigQuery 数据集可提供大数据分析功能:

      bigquery.googleapis.com/projects/[PROJECT_ID]/datasets/[DATASET_ID]
      
    • Pub/Sub 主题可将您的日志条目流式传输到其他应用或存储区。

      pubsub.googleapis.com/projects/[PROJECT_ID]/topics/[TOPIC_ID]
      

    日志查看器中,您还可以在创建导出时使用自定义目标位置选项,以将日志从一个项目发送到另一个项目中的目标位置。如需了解详情,请参阅创建接收器

    您可以将日志导出到任何项目中的目标位置,但前提是该导出目标位置将接收器的服务帐号授权为写入者。

  • 写入者身份:服务帐号名称。导出目标位置的所有者必须为此服务帐号授予对导出目标位置的写入权限。导出日志时,Logging 会使用此身份进行授权。为了提高安全性,新接收器将获得唯一的服务帐号:

    [GENERATED_ID_1]@[GENERATED_ID_2].iam.gserviceaccount.com
    

    如需了解详情,请参阅目标位置权限

  • 汇总导出汇总导出中介绍了 includeChildren 属性。它仅与为组织或文件夹创建的接收器相关。

如需详细了解接收器,请参阅 LogSink 类型、projects.sinks.create API 方法和在 API 中导出日志

接收器的工作原理

每当日志条目到达项目、文件夹、结算帐号或组织资源时,Logging 都会将日志条目与相应资源中的接收器进行比较。过滤条件与日志条目匹配的每个查询都会将相应日志条目的副本写入到接收器的导出目标位置。

由于只能导出新日志条目,因此您无法导出 Logging 在接收器创建之前收到的日志条目。

访问权限控制

如需创建或修改接收器,您必须在接收器的父级资源中拥有 OwnerLogging/Logs Configuration Writer Cloud Identity and Access Management 角色。如需查看现有接收器,您必须在接收器的父级资源中拥有 ViewerLogging/Logs Viewer Cloud IAM 角色。如需了解详情,请参阅访问权限控制

如需将日志导出到目标位置,接收器的写入者服务帐号必须具备对目标位置的写入权限。如需详细了解写入者身份,请参阅本页面上的接收器属性

价格

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

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

后续步骤

导出日志

如需了解如何导出日志,请查看以下页面:

查找和使用导出的日志

如需了解导出日志条目的格式以及导出日志在目标位置的组织方式,请参阅使用导出的日志

探索 Logging 导出场景

以下教程介绍了您可能需要导出日志的场景。每个教程都详细说明了要求、设置和用法,并说明了如何共享导出内容。