Skip to content
返回云服务

Cloudflare Logpush 到 S3/R2

将 Cloudflare 日志(HTTP 请求、Workers、防火墙)流到 R2/S3/BigQuery 长期分析。

Cloudflare进阶

为什么

Logpush 近实时把日志送到你的存储 — 无 Logpull 轮询、无遗漏事件。合规、安全取证和超越 Cloudflare 面板的自定义分析必备。

Cloudflare 网络覆盖 125+ 国家的 330+ 城市,服务 20% 的互联网流量。Workers 冷启动为 0ms(基于 isolate),免费套餐覆盖每天 10 万请求。

何时使用

合规(PCI/SOC 要求日志保留)、安全分析和 SLA 监控时启用。面板分析足够时避免(Logpush 按日志行收费)。

如何做

1. 创建目标 — R2 bucket 或带写策略的 S3 bucket 2. 生成任务 — 面板 → Analytics & Logs → Logpush → Create 3. 选数据集 — http_requests、firewall_events、workers_logs、dns_logs 4. 过滤 — 按状态码、zone、hostname 减量/省成本 5. 格式 — JSON 或 CSV,可选 gzip 压缩 6. 频率 — 每 60 秒或 5 分钟批次 7. 验证 — 检查目标 .log 文件,用 Athena/BigQuery 查询

示例

# 通过 API 创建 Logpush 任务到 R2 curl -X POST "https://api.cloudflare.com/client/v4/zones/{zone_id}/logpush/jobs" -H "Authorization: Bearer {token}" -d '{ "name": "http-requests-to-r2", "destination_conf": "r2://my-logs/{DATE}?region=auto", "dataset": "http_requests", "output_options": { "field_names": ["ClientIP","ClientRequestURI","EdgeResponseStatus","OriginResponseTime"], "format": "json" }, "frequency": "60s" }' # 同步后在 BigQuery 查询日志 SELECT ClientRequestURI, COUNT(*) AS hits, AVG(OriginResponseTime) AS avg_ms FROM cloudflare_logs.http_requests WHERE DATE(timestamp) = '2026-01-15' GROUP BY ClientRequestURI ORDER BY hits DESC LIMIT 20;

常见问题

  • ⚠成本意外 — 每请求记日志 = 巨量,先过滤到 error/4xx/5xx
  • ⚠目标权限 — R2/S3 需特定写策略,Logpush 静默失败
  • ⚠schema 变更 — Cloudflare 可能加字段,破坏严格解析器,用灵活 JSON

最佳实践

  • ✓积极过滤 — 仅推 4xx/5xx 或慢请求,量减 95%
  • ✓用 R2 非 S3 — 零出口,从 Workers/BigQuery 查询无传输费
  • ✓按日期分区 — 路径含 {DATE} 启用高效时间范围查询

常见问题解答

什么是Cloudflare Logpush 到 S3/R2?它解决什么问题?

将 Cloudflare 日志(HTTP 请求、Workers、防火墙)流到 R2/S3/BigQuery 长期分析。 它可帮助开发者在不自建基础设施的前提下完成部署、存储与扩展,是云服务选型的核心参考。

如何在 5 分钟内上手Cloudflare Logpush 到 S3/R2?

两步即可跑通:① 创建目标 — R2 bucket 或带写策略的 S3 bucket;② 生成任务 — 面板 → Analytics & Logs → Logpush → Create。建议先用免费套餐验证流程,再接入生产环境。

Cloudflare Logpush 到 S3/R2 最容易踩的坑是什么?

最高频的问题是:成本意外 — 每请求记日志 = 巨量,先过滤到 error/4xx/5xx。建议在上线前用 checklist 逐项核对,并在 CI 中加入策略与配置扫描。

Cloudflare Logpush 到 S3/R2 的最佳实践有哪些?

Cloudflare Logpush 到 S3/R2 的最佳实践包括:积极过滤 — 仅推 4xx/5xx 或慢请求,量减 95%;用 R2 非 S3 — 零出口,从 Workers/BigQuery 查询无传输费;按日期分区 — 路径含 {DATE} 启用高效时间范围查询。其中首条「积极过滤 — 仅推 4xx/5xx 或慢请求,量减 95%」应作为团队默认规范写入 IaC 模板。

Cloudflare Logpush 到 S3/R2 如何控制成本与避免账单意外?

三招防超支:① 为所有资源打 env/team 标签并启用账单告警;② 用预算阈值触发 Slack/邮件通知;③ 定期用 Cost Explorer 审查闲置资源并清理。Cloudflare Logpush 到 S3/R2 多数提供免费套餐,先在免费额度内验证再放量。