10 月 23 - 25 日,QCon 上海站即将召开,现在购票,享9折优惠 了解详情
写点什么

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

评论

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

翻转未来!钢铁之城重添色彩

脑极体

复盘上次Redis缓存雪崩事故,中级Java工程师面试题

Java 程序员 后端

堪比狗血剧!18名Java程序员凭阿里P8笔记,同时斩获大厂offer

Java 编程 面试 阿里 大厂

【Vuex 源码学习】第一篇 - Vuex 的基本使用

Brave

源码 vuex 9月日更

在线JSON转io-ts工具

入门小站

工具

读完这份阿里高质量性能优化全解,我的系统终于不再频繁瘫痪了

Java 阿里巴巴 编程 面试 金九银十

想要掌握未来嘛?这份腾讯高工撰写的Redis实战笔记就告诉你什么是未来!

Java 腾讯 面试 大厂 金九银十

关系型数据库如何存储树形结构?

王博

网络攻防学习笔记 Day135

穿过生命散发芬芳

网络基础 9月日更

人类视觉神经科学助力音视频产业革命 - 弱网下的极限实时通信

声网

音视频 弱网下的极限实时视频通信

linux之dos2unix命令

入门小站

Linux

敬自由:破壁人华为,开启PC的无界探索

脑极体

计算机操作系统学习笔记 | 操作系统功能

Regan Yue

操作系统 9月日更

Nacos 开源、自研、商业化三位一体战略解读

阿里巴巴中间件

云计算 阿里云 微服务 云原生 nacos

☕【JVM技术指南】「理论总结笔记」Java虚拟机垃圾回收认知和调优的"思南(司南)"【上部】

码界西柚

JVM GC 垃圾回收算法 9月日更

“融合创新”是区块链的应用发展趋势吗?

CECBC

16. 奇点来临?

Databri_AI

人工智能

2021年区块链被列为“七大重点产业之一”

CECBC

音视频剪辑DIY:用Python快速入门音视频剪辑

老猿Python

Python 音视频 视频剪辑 Moviepy 引航计划

JavaScript进阶(上)

Augus

JavaScript 9月日更

Rust 与 C++:深入的语言比较

奔着腾讯去

c++ rust 安全 编程语言 并发

成熟的区块链技术是解决供应链金融痛点问题的根本出路

CECBC

Kafka 常用工具脚本总结

Se7en

MQ是一种新的通信模式

风翱

MQ 9月日更

硬核!4396万字神文精解高并发高可用系统实战,分布式系统一致性文档一经面试震惊寰宇!

Java 编程 架构 面试 程序人生

oh,我的老伙计,你看看这近五十个dapr视频

newbe36524

k8s dapr

移动WEB开发会用到的 5 个API

devpoint

WebGL canvas Fetch 9月日更

FLV格式解析

轻口味

android 音视频 RTMP 9月日更

桐乡引入百度智能云开物工业互联网,数字经济再提速

百度大脑

人工智能

网络安全之一个渗透测试小案例

网络安全学海

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

聊聊新工具Hutool

卢卡多多

POI 数据导入 9月日更

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