本页面从概念上大致介绍了如何使用 Cloud Logging 导出日志。
如需了解如何导出日志,请转到本页面上的后续步骤。
您可以将部分或全部日志导出到不同的接收器目标位置。导出日志可能是为了实现以下目的:
- 存储不太可能读取但必须出于合规性目的而保留的日志。
- 针对日志使用大数据分析工具。
- 将日志流式传输到其他应用、其他存储区或第三方。
如需进一步探索常见的日志记录导出场景,请参阅导出到 Cloud Logging 的设计模式:日志记录导出场景。
导出的工作原理
下图演示了 Cloud Logging 如何处理导出的日志条目:
所有日志(包括审核日志、平台日志和用户日志)都会发送到 Cloud Logging API,并流经日志路由器。日志路由器根据现有规则检查每个日志条目,以确定要提取(存储)的日志条目、要包含在导出中的日志条目以及要舍弃的日志条目。如需了解详情,请参阅日志路由器概览。
导出过程涉及编写一个过滤条件来选择要导出的日志条目,以及从以下选项中选择一个目的地:
- Cloud Storage:存储在 Cloud Storage 存储分区中的 JSON 文件。
- BigQuery:在 BigQuery 数据集中创建的表。
- Pub/Sub:传递给 Pub/Sub 主题的 JSON 消息。支持使用 Logging 等第三方集成服务。
- 其他 Google Cloud 项目:Cloud Logging 日志存储分区中保存的日志条目。
过滤条件和目标位置保存在名为接收器的对象中。您可以在 Google Cloud 项目、组织、文件夹和结算帐号中创建接收器。
接收器属性和术语
接收器具有以下属性:
接收器标识符:接收器的名称,例如
my-vm-error-sink
。父级资源:您在其中创建接收器的资源。父级资源通常是一个项目,但它可以是以下任何一项:
"projects/[PROJECT_ID]" "folders/[FOLDER_ID]" "billingAccounts/[BILLING_ACCOUNT_ID]" "organizations/[ORGANIZATION_ID]"
接收器只能导出属于其父级资源的日志。如需了解此规则的一种例外情况,请参阅以下汇总导出属性。
接收器的完整资源名称包括其父级资源和接收器标识符。例如:
"projects/[PROJECT_ID]/sinks/[SINK_ID]"
日志过滤条件:选择要通过此接收器导出哪些日志条目。如需查看过滤条件示例,请转到示例查询。
目标位置:表示要将与您的过滤条件匹配的日志条目发送到哪个位置。支持的目标位置如下:
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 日志存储分区提供具有可自定义的保留期限的存储空间:
logging.googleapis.com/projects/[PROJECT_ID]/locations/[REGION]/buckets/[BUCKET_ID]
在日志浏览器中,您还可以在创建导出时使用自定义目标位置选项,以将日志从一个项目发送到另一个项目中的目标位置。如需了解详情,请参阅创建接收器。
您可以将日志导出到任何项目中的目标位置,但前提是该导出目标位置将接收器的服务帐号授权为写入者。
写入者身份:服务帐号名称。导出目标位置的所有者必须为此服务帐号授予对导出目标位置的写入权限。导出日志时,Logging 会使用此身份进行授权。为了提高安全性,新接收器将获得唯一的服务帐号:
[GENERATED_ID_1]@[GENERATED_ID_2].iam.gserviceaccount.com
如需了解详情,请参阅目标位置权限。
汇总导出。汇总导出中介绍了
includeChildren
属性。它仅与为组织或文件夹创建的接收器相关。
如需详细了解接收器,请参阅 LogSink 类型、projects.sinks.create API 方法和使用 API 导出日志。
接收器的工作原理
每当日志条目到达项目、文件夹、结算帐号或组织资源时,Logging 都会将日志条目与相应资源中的接收器进行比较。过滤条件与日志条目匹配的每个接收器都会将相应日志条目的副本写入到接收器的导出目标位置。
访问权限控制
如需创建或修改接收器,您必须在接收器的父级资源中拥有 Owner 或 Logging/Logs Configuration Writer Identity and Access Management 角色。如需查看现有接收器,您必须在接收器的父级资源中拥有 Viewer 或 Logging/Logs Viewer IAM 角色。如需了解详情,请参阅访问权限控制。
要将日志导出到目标位置,接收器的写入者服务帐号必须具备对目标位置的写入权限。如需详细了解写入者身份,请参阅本页面上的接收器属性。
价格
Cloud Logging 不会对导出日志收费,但可能会产生目标位置费用。如需了解详情,请查看相应产品的价格页面:
另请注意,如果您在发送 Virtual Private Cloud 流日志后又从 Cloud Logging 中排除这些日志,则除了目标位置费用外,还需支付 VPC 流日志生成费用。
后续步骤
导出日志
如需了解如何导出日志,请查看以下页面:
- 如需使用日志路由器,请转到使用日志路由器导出。
- 如需使用 Logging API,请参阅在 API 中导出日志。
- 如需使用
gcloud
命令行工具,请转到 gcloud logging。
查找和使用导出的日志
如需了解导出日志条目的格式以及导出日志在目标位置的组织方式,请参阅使用导出的日志。
探索 Logging 导出场景
以下教程介绍了您可能需要导出日志的场景。每个教程都详细说明了要求、设置和用法,并说明了如何共享导出内容。