云计算与数据中心

Cloudflare 支持在导出前使用 SQL 处理 Logpush 日志

Cloudflare 为 Logpush 增加了 Transformers 功能,可在将日志发送到 SIEM 系统、分析平台和存储系统之前,使用 SQL 筛选日志、屏蔽敏感数据并重构字段。该功能基于 Apache DataFusion 和 Apache Arrow,适用于从 Free 到 Enterprise 的所有 Cloudflare 套餐。

2026-10-12
1 分钟阅读
9 浏览量
certi.news Editorial Team
Cloudflare 支持在导出前使用 SQL 处理 Logpush 日志

Transformers 功能现已在 Cloudflare 的 Logpush 服务中正式提供,允许团队在将日志导出到最终目的地之前对其进行处理。用户可以编写 SQL 查询来筛选日志、屏蔽敏感数据的部分内容,以及添加、重命名、删除字段或将字段组织到嵌套结构中。

该功能面向监控和安全团队,这些团队会将 Cloudflare 日志导出到安全信息和事件管理(SIEM)系统、分析平台和对象存储中。Logpush 会在导出流程本身中执行转换,而不是在日志到达后再运行独立的日志处理服务。

实际会发生什么变化?

用户会为 Logpush 中的特定数据集定义自定义 Transformer。系统会应用 WHERE 语句移除不需要的日志,而 SELECT 语句则确定导出日志中将显示的字段。结果会以 NDJSON 格式保存,与原始日志格式相同;该功能并不是用于转换序列化格式本身的工具。

例如,用户可以排除健康检查请求和内部流量,屏蔽 IP 地址的最后一部分,统一多个 CDN 提供商之间的字段名称,并添加供应商名称或用于标识服务器错误的指标等固定字段。在导出前进行筛选,有助于减少团队需要为导出、接收和存储而付费、随后又将其丢弃的数据量。

在导出流程中执行

Cloudflare 选择在 Bufstream 传输服务内部运行查询,而不是依赖外部网络服务。据该公司称,通过 Cloudflare Workers 运行 WebAssembly 会向 Logpush 流程增加网络连接,可能导致超时和重试,从而影响交付时间和吞吐率。

Transformers 使用以 Rust 编写的 Apache DataFusion 引擎,并使用 Apache Arrow 在内存中以 typed 列表示数据。在 Cloudflare 针对包含 5,000 条合成 http_requests 日志的批次进行的一项测试中,执行一个预配置的 Transformer 只需单个 Go 线程约 3 毫秒,相当于每秒约 160 万条日志。

Bufstream 接收经过压缩的 Logpush 批次,将符合条件的日志转换为 Arrow RecordBatch,然后通过 Arrow IPC 以及 Go 与 Rust 之间的绑定接口将其传递给 DataFusion。查询执行完成后,服务会将结果转换回 NDJSON,再进行聚合、压缩并上传到指定目的地。

故障控制与管理

Transformers 遵循故障安全原则:如果转换无法执行,Bufstream 不会以原始格式发送该批次,也不会提供交付位置。相反,系统会逐步重试并报告错误;对于长时间处于失败状态的任务,系统还可能将其停用,以免消耗正常任务的资源。

用户可以通过 Cloudflare 控制台中的 Transformer Studio 或 API 创建、预览和管理转换。每次更新都会创建新版本;Transformer Health 页面则提供有关成功和失败转换、处理前后数据量以及执行时长的指标。

为什么这则消息很重要?

其核心价值不仅在于为日志服务增加 SQL,而在于将数据缩减、统一和屏蔽的决策点前移至导出之前。这可能会减少团队对专用处理层的依赖,但并不意味着无需测试查询和审查数据模式,尤其是因为 Transformer 失败时会阻止批次发送,而不是传递未经处理的版本。

Transformers 适用于 Free、Pro、Business 和 Enterprise 套餐。具体配置细节和价格仍以 Cloudflare 当前文档为准。

新闻来源
Cloudflare Blog
查看原始来源 ↗
c
作者

certi.news Editorial Team

同一分类

你可能还喜欢

查看所有新闻