Logpush尽可能快地批量交付日志,使Cloudflare能够几乎实时地提供信息。在我们最近的生日周期间,我们在所有自助服务计划和变形金刚上市时都提供了Logpush。这些变化是Cloudflare Observability的八个主要更新之一,反映了我们致力于向所有人提供每个Cloudflare功能的承诺。
这篇文章深入探讨了Transformer如何在Logpush的导出管道中工作。可观察性团队使用Logpush将Cloudflare日志导出到安全信息和事件管理系统(SIEM)、分析平台和对象存储。在这些日志到达目的地之前,团队可能需要删除运行状况检查、省略敏感字段或重塑仪表板和调查的记录。
如今,这通常需要团队必须部署、扩展、监控和维护的单独处理服务。例如,从多个CDN收集日志的团队可以添加一个静态提供程序字段,以便在记录到达其分析平台之前对其进行规范化。团队还为到达后立即丢弃的记录的导出、摄取和存储付费,因此在交付前对其进行过滤可以减少下游数据量和成本。
使用Transformer,该处理将移入Logpush导出工作流。团队定义SQL查询以通过添加、重命名、删除或嵌套字段来过滤记录、编辑敏感数据和重塑输出。Logpush在导出前应用查询,因此每个目标以其所需的形式接收数据。
我们通过在Logpush的高吞吐量导出管道中嵌入SQL转换引擎,同时保持性能和资源使用的可预测性,为客户简化了此工作流程。Transformer是为特定Logpush数据集编写的SQL查询。查询引用该数据集中的字段,并定义Logpush应导出的记录和字段。Logpush在导出前将查询应用于每个批次。