跳转到内容
搜索文档

启用 Google Cloud Storage

最后更新 查看 MarkdownAgent 设置

Cloudflare Logpush 支持通过 Cloudflare 仪表板或 API 将日志直接推送到 Google Cloud Storage (GCS)。

通过 Cloudflare 仪表板管理

  1. 在 Cloudflare 仪表板中,前往账户或域名(也称为 zone)级别的 Logpush(日志推送) 页面。

    账户级别:Go to Logpush ↗

    域名(也称为 zone)级别:Go to Logpush ↗

  2. 根据你的选择,可分别访问账户范围数据集zone 范围数据集

  3. 选择 Create a Logpush job(创建 Logpush 作业)

  1. Select a destination(选择目标) 中,选择 Google Cloud Storage(Google 云存储)

  2. 输入或选择以下目标详细信息:

    • Bucket(存储桶) - GCS 存储桶名称
    • Path(路径) - 存储容器内的存储桶位置
    • Organize logs into daily subfolders(按日整理到子文件夹)(推荐)
    • 对于 Grant Cloudflare access to upload files to your bucket(授予 Cloudflare 将文件上传到存储桶的权限),请确保您的存储桶已将 Cloudflare 的 IAM 添加为具有 Storage Object Admin 角色 的用户。

输入完目标详细信息后,选择 Continue(继续)

  1. 为证明所有权,Cloudflare 将向您指定的目标发送一个文件。要找到令牌,请在所有权质询文件的 Overview(概览) 标签页中选择 Open(打开) 按钮,然后将其粘贴到 Cloudflare 仪表板中以验证您对存储桶的访问权限。输入 Ownership Token(所有权令牌) 并选择 Continue(继续)

  2. 选择要推送到存储服务的数据集。

  3. 在下一步中,您需要配置 Logpush 作业:

    • 输入 Job name(作业名称)
    • If logs match(如果日志匹配) 下,您可以选择要包含和/或从日志中移除的事件。更多信息请参阅 过滤器。并非所有数据集都提供此选项。
    • Send the following fields(发送以下字段) 中,您可以选择将所有日志推送到存储目标,或有选择地选择要推送的日志。
  4. Advanced Options(高级选项) 中,您可以:

    • 选择日志中时间戳字段的格式(RFC3339(默认)、UnixUnixNano)。
    • 为日志选择采样率,或推送随机采样百分比的日志。
    • CVE-2021-44228 启用脱敏。此选项会将每次出现的 ${ 替换为 x{
  5. 配置完 Logpush 作业后,选择 Submit(提交)

创建并获取 GCS 存储桶的访问权限

Cloudflare 使用 Google Cloud Identity and Access Management (IAM) 获取对您存储桶的访问权限。Cloudflare IAM 服务账户需要对存储桶具有管理员权限。

在尝试读取或配置 Logpush 任务之前,请确保已启用 Log Share 权限。更多信息请参阅角色部分


要启用 Logpush 到 GCS:

  1. 创建 GCS 存储桶。请参阅 GCS 的说明

  2. Storage > Browser > Bucket(存储桶) > Permissions(权限) 中,添加成员 logpush@cloudflare-data.iam.gserviceaccount.com,并授予 Storage Object Admin 权限。

压缩与解压缩转码

Logpush 始终以 gzip 压缩格式交付日志文件。上传到 GCS 时,Logpush 会在对象元数据上设置 Content-Encoding: gzip

GCS 默认执行解压缩转码。这意味着当客户端下载以 Content-Encoding: gzip 存储的对象时,如果客户端未在请求标头中包含 Accept-Encoding: gzip,GCS 可能会在传输过程中自动解压缩文件。发生这种情况时,下载的文件包含未压缩的数据,即使文件名仍保留 .gz 扩展名。

要以原始压缩格式下载日志文件,请使用以下方法之一:

  • 在下载请求标头中包含 Accept-Encoding: gzip 例如,使用 gsutil 时:

    gsutil -h "Accept-Encoding: gzip" cp gs://your-bucket/path/file.log.gz .

这篇文档对您有帮助吗?