AI 年度盘点与2025发展趋势展望,50+案例解析亮相AICon 了解详情
写点什么

Cloudflare 使用 OpenTelemetry 彻底检修日志记录管道

作者:Matt Saunders

  • 2024-11-27
    北京
  • 本文字数:1940 字

    阅读完需:约 6 分钟

Cloudflare 使用 OpenTelemetry 彻底检修日志记录管道

互联网基础设施和安全公司 Cloudflare 记录了它是如何通过从 syslog-ng 迁移到 OpenTelemetry Collector 来显著升级其日志记录管道的。


日志记录管道是 Cloudflare 最大的数据管道之一,也是其关键的基础设施,因为它每秒从其网络中的每台服务器收集和处理数百万个日志事件。该管道以前依赖于广泛使用的开源日志记录解决方案 syslog-ng,而迁移到 OpenTelemetry Collector 是 Cloudflare 处理其大量日志数据方式的重大转变。


工程师 Colin Douch 和 Jayson Cena 在 其公司博客文章中详细介绍了这一迁移过程,他们表示,这一改变有几个动机:


  • 语言兼容性:OpenTelemetry Collector 是用 Go 语言编写的,与 syslog-ng 使用的 C 语言相比,Cloudflare 的工程团队更熟悉 Go 语言。这一改变使 Cloudflare 的更多工程师能够为日志系统做出贡献并对其加以改进。

  • 更容易与内部库集成:使用 Cloudflare 的内部后量子(Post-Quantum)加密库构建 syslog-ng 是一个挑战。基于 Go 的 OpenTelemetry Collector 简化了这一过程。

  • 增强的度量指标:OpenTelemetry Collector 支持 Prometheus 度量指标,使团队能够收集有关收集器性能的更详细的遥测数据。

  • 统一遥测基础设施:Cloudflare 已经将 OpenTelemetry Collector 用于一些跟踪基础设施中。将不同类型的遥测技术整合到一个系统中可以降低工程团队的复杂性。


作为迁移的一部分,工程师开发了几个自定义组件,以维护与现有系统的兼容性并满足特定的需求。这些组件包括 Cloudflare 自己的日志格式的自定义导出器、用于其他输出格式的修改后的文件导出器、将外部源 JSON 数据合并到日志条目中的处理器,以及用于防止单个服务淹没日志管道的速率限制器。


Cloudflare 采用了两种策略来推出这些更改。由于核心数据中心的自定义配置和多样化的工作负载,需要采取谨慎的实践方法,而在其边缘数据中心,由于配置更简单,团队可以在仔细监控的情况下逐步推出。


迁移过程暴露出几个挑战,例如故障转移问题,新导出器最初未能检测到与主日志服务器的连接问题,导致日志积压,并在混乱测试期间影响了一些服务。停止 syslog-ng 和启动 OpenTelemetry Collector 之间的切换也导致日志收集短暂中断,影响了一些以阻塞模式写入日志的服务。


Cloudflare 通过在其自定义导出器中实施了更严格的超时、修改故障转移行为以及调整其部署流程以最大限度地减少切换期间的停机时间来解决这些问题。未来的相关计划包括实施更复杂的日志采样技术,包括尾部采样,并向开源社区贡献一些自定义组件。


Cloudflare 并不是唯一一家转向 OpenTelemetry 的公司,Shopify、Splunk、谷歌和 GitHub 等其他大型公司也采用了这项技术。在谷歌云(Google Cloud)网络研讨会上,其中一些组织详细介绍了他们的 OpenTelemetry 使用情况。


  • 谷歌正在多种产品中使用 OpenTelemetry,例如在谷歌 Kubernetes 引擎(Google Kubernetes Engine)和谷歌计算引擎(Google Compute Engine)中使用收集器,以及在云监控(Cloud Monitoring)和云跟踪(Cloud Trace)中替换 OpenCensus SDK。

  • Splunk 内部正在采用 OpenTelemetry,通过多种形式该项目做出了广泛贡献,例如通过使用收集器进行基础设施监控、迁移到 OpenTelemetry 客户端库以及为收集器和自动仪器开发做出贡献等。

  • Shopify 正在将其跟踪收集基础架构迁移到 OpenTelemetry,并在收集器中实施 PII 编辑、采样和跨度(span)重命名。


同样,GitHub 正在采用 OpenTelemetry 来标准化其遥测实践。在一篇博客文章中,GitHub 工程师详细介绍了该公司如何使用 statsd、syslog 以及 OpenTracing 等工具的,statsd 用于获取度量指标、syslog 用于获取文本日志,OpenTracing 用于获取请求跟踪,但这导致了互操作性的挑战,并为每个新系统重复提供了解决方案。



GitHub 正在通过多种关键的方式来实施 OpenTelemetry,如使用 OTLP(OpenTelemetry 协议)作为遥测信号的标准,与供应商无关的格式。它还利用 Ruby 和 Postgres 的自动检测功能来自动添加分布式跟踪。开放标准还允许 GitHub 使用 OpenTelemetry 跟踪作为根来创建不同信号之间的自动关联。


GitHub 认为,一旦跟踪到位,这种方法将允许它们自动获取额外的信号,例如自动计算指标并将跟踪事件转换为详细的日志。它们还为 OpenTelemetry 项目做出了贡献,以造福更广泛的社区。

作者介绍

Matt Saunders 是 Adaptavist 的首席技术官 DevOps 主管。帮助团队使用 DevOps、平台工程和云原生工具和技术,以快速、高效且最小的压力交付可靠、高质量的软件。他曾与复杂的企业、小型初创企业、中小企业以及介于两者之间的所有企业合作过。还联合组织了伦敦 DevOps 聚会小组,该小组拥有 10000 多名成员,每月举办一次非常受欢迎的行业活动。


查看原文链接:

https://www.infoq.com/news/2024/10/cloudflare-opentelemetry/

2024-11-27 08:006922

评论

发布
暂无评论

【愚公系列】2022年11月 微信小程序-app.json配置属性之window

愚公搬代码

11月月更

时延测评|免费又好用的低延时远程控制软件竟是它!

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

Docker 镜像使用

我是一个茶壶

Docker 镜像 11月月更

解决APP抓包问题【网络安全】

网络安全学海

网络安全 安全 信息安全 渗透测试 漏洞挖掘

对于MUI的实现原理以及遮罩蒙版和numbox以及侧滑导航的事件监听的运用和实战

恒山其若陋兮

Vue 前端 11月月更

Redis的一些概念

饱饱巴士

redis 11月月更 redis梳理

官宣!Taier1.3 新版本正式发布,新鲜功能抢先体验

袋鼠云数栈

袋鼠云产品功能更新报告 02 期丨有亿点点走心!

袋鼠云数栈

非行稳无以致远:华为如何写好数字金融的大文章?

脑极体

MUI框架之移动端前端开发对dialog与button轮播的深入运用与实战

恒山其若陋兮

Vue 前端 11月月更

远程控制软件如何像素级还原设计稿色彩?

RayLink远程工具

远程控制软件 远程办公软件 远控软件 远程桌面连接 RayLink

2022-11微软漏洞通告

火绒安全

安全漏洞

阿里云 Landing Zone 上好云伙伴联盟正式起航

云布道师

阿里云 2022云栖大会

极客时间运维进阶训练营第三周作业

好吃不贵

Knative架构解析

穿过生命散发芬芳

Knative 11月月更

【kafka运维】 kafka-consumer-groups.sh消费者组管理

石臻臻的杂货铺

kafka kafka运维 11月月更

数据中台选型必读(四):要想中台建的好,数据模型得做好

雨果

数据中台

2022 VDC应用与服务专场:帮助开发者实现增长共赢

Geek_2d6073

获奖作品《重力》超详细制作过程!建议码住!

Renderbus瑞云渲染农场

Blender制作教程

Docker容器的使用

我是一个茶壶

容器 11月月更 docker、

中国数据中台未来会怎样?三个趋势预测为您指明方向

雨果

数据中台

WiFi、蓝牙、NFC 哪家强?短距离无线通信技术对比分析

元器件秋姐

无线通信 元器件选型 元器件电商平台 元器件采购

2022 VDC安全隐私专场:提升用户产品安全体验,携手伙伴共建安全新生态

Geek_2d6073

无线标准802.11ac 和 802.11ax到底有什么区别?哪个更快?

wljslmz

网络技术 无线技术 802.11ac 802.11AX 11月月更

三分钟带你了解一站式大数据平台运维管家 ChengYing 产品包制作

袋鼠云数栈

银行APP用户体验外滩峰会即将开启!四大亮点抢先看

易观分析

金融 银行 易观

MUI实战之switch和事件以及transparentBar与slide的实战与深入运用

恒山其若陋兮

前端 11月月更 黎燃

商家和企业如何选择KOC合作:要明确推广目标、选对平台和博主

石头IT视角

【线上分享会回顾】九科信息董事&产品VP傅恺分享流程挖掘实践案例

九科Ninetech

实战指南 | Serverless 架构下的应用开发

阿里巴巴云原生

阿里云 Serverless 云原生

2022 vivo开发者大会人工智能专场:打造「1001个便利」

Geek_2d6073

Cloudflare 使用 OpenTelemetry 彻底检修日志记录管道_后端_InfoQ精选文章