写点什么

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:007755

评论

发布
暂无评论
发现更多内容

一毛钱自助 KTV 小程序系统介绍

微擎应用市场

主动防控数据库风险!嘉为蓝鲸WeOps专业监控视图预警潜在威胁

嘉为蓝鲸

智能运维 运维监控 数据库监控 weops 一体化智能运维平台

科技赋能烟草行业:AI全流程监督,驱动提质增效与合规治理

中烟创新

9月4日起!嘉为蓝鲸2025秋季发布会启幕,13大产品焕新,开启IT研运智能新程!

嘉为蓝鲸

DevOps AIOPS 智能运维 weops 研运一体化

鸿蒙生态扩容期混合开发技术赋能企业增量布局

xuyinyin

MyEMS 开源能源管理系统:技术基底、政策适配与三级平台架构实践

开源能源管理系统

开源 能源管理系统

AI口语APP的主要功能

北京木奇移动技术有限公司

AI教育 软件外包公司 AI口语开发

API接口调用中的网络异常及解决方案

Noah

闪电洗车小程序系统相关介绍

微擎应用市场

AIOps故障诊断怎么做?3个典型场景实践展示

行云创新

AIOPS 智能运维AIOps 平台工程 AI运维

夜莺监控新版表格配置图文讲解

巴辉特

夜莺监控

特斯拉、智元、宇树、英伟达等,产业链上市公司8月速递

机器人头条

人形机器人 具身智能 宇树科技 智元机器人 特斯拉optimus

发布Attacknet:基于混沌测试的区块链节点漏洞挖掘新工具

qife122

区块链 安全工具

测试不再碎片化:AI智能体平台「项目资料套件」功能上线!

测试人

财务团队升级攻略:主动出击数字化,赋能决策新动力

智达方通

企业管理 数字驱动 财务管理

从封闭垄断到开源革新:传统能源管理系统与 MyEMS 的核心维度对比

开源能源管理系统

开源 能源管理系统

RPA升级到AI,财务圈正在发生的3个变化

Techinsight

最新最全Go主流框架高频面试题大全

王中阳Go

Go 面试题 框架

技术干货丨HyperMesh 新界面功能与技术升级解析

Altair RapidMiner

仿真 CAE 二次开发 Hypermesh hyperworks

2025年中国RFID产业未挖掘市场深度研究报告

斯科信息

RFID标签 RFID芯片

思楼回收管理系统小程序及相关信息介绍

微擎应用市场

AI口语APP开发的技术框架

北京木奇移动技术有限公司

AI技术开发 软件外包公司 AI口语

美国参议院法案对AI监管与能源政策的重大影响

qife122

人工智能监管 立法框架

嘉为蓝鲸CMeas研发效能洞察平台:专属查询仪表板一键保存,破解研发效能分析“重复配置”痛点

嘉为蓝鲸

DevOps 研发效能 研发效能度量 研发效能洞察平台

嘉为蓝鲸CPack制品管理平台:以联邦仓库为核心,助力跨地域、跨组织制品资产高效联动

嘉为蓝鲸

DevOps 制品库 制品管理 协同开发 制品管理平台

站在巨人的肩膀上:gRPC通过HTTP/2构建云原生时代的通信标准

poemyang

gRPC 网络协议 HTTP2.0 网络通信

光大永明人寿:保险活水精准“输血”小微企业

北京中暄互动广告传媒有限公司

工业智能体:探秘AI Agent在智能制造中的核心价值与应用​

万界星空科技

工业智能体 mes AI Agent 万界星空科技mes 智能化MES

开源赋能・智控能效:MyEMS 引领双碳时代能源管理数字化革新

开源能源管理系统

开源 开源能源管理系统

炸了!Google新发图片大模型简直逆天!

王磊

政府网站IPv6检测怎么做?检测指标有哪些?

防火墙后吃泡面

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