在哥本哈根 GOTO 大会上,Martin Thwaites 在题为“可观测性与软件工程艺术”的演讲中提到,可观测性必须随着无服务器事件驱动架构一同演进。OpenTelemetry 能够使遥测数据与供应商解耦,让开发者能够生成一致且高质量的数据,从而准确反映系统的实际行为。统一的术语体系和优质的遥测数据不仅能加快调试速度,还能提升系统的可靠性、运行速度以及开发人员的生产力。
现代可观测性与“现代”系统、“现代”开发流程以及“现代”架构的定义紧密相连。Thwaites 解释说,这实际上意味着,自单体应用和服务器时代以来,我们设计、构建以及维护系统的方式已经发生了变化:
我们目前正在构建无服务器、事件驱动、基于单元(Cell)的架构,因此,我们对遥测以及围绕这些架构的最终可观测性的思考方式也应随之改变。
Thwaites 表示,OpenTelemetry 就像是连接各系统的纽带,既记录系统中发生的情况(发送遥测数据),又连接帮助你解析这些数据的系统(或多个系统)。它不局限于任何单一的数据分析方式,也就是说,它不受特定供应商或解决方案的侧重点所限制:
这种解耦设计使其成为一款面向开发者的工具。你可以专注于生成最优质的遥测数据,而非为了使其适配当前产品而进行调整。
Thwaites 表示,优质的遥测数据应专注于描述系统在生产环境中是如何“运行”的。他解释道,在这个语境下,“运行”指的是每个服务是如何处理特定请求或交互的:
借助这些数据,你将能够理解本次交互与另一次交互有何不同,以及这在系统中引发了什么操作——无论是特定的数据库调用,还是执行特定的代码路径。
Thwaites 总结道,如果能始终如一地这样做,调试生产环境里的问题就会变得异常简单快捷。
多年来,人们在系统监控过程中逐渐认识到的一点是:遥测数据的一致性至关重要。Thwaites 表示,随着系统复杂性的增加,人们在描述系统性能时缺乏统一标准的问题也变得愈发突出。他提到了 Weaver 这一工具,它能够记录系统发出的遥测数据,其范围不局限于 HTTP 或 gRPC 等常见的标准属性:
它使团队能够定义一套通用的遥测术语体系,以便可观测性后端、AI 工具,以及最终的人类,都能借助这些术语来理解那个复杂的系统。
Weaver 还提供基于遥测数据的实时检查和异常跟踪功能,确保你仅使用经过批准的规范,并提供代码生成功能来简化采用流程。
Thwaites 认为,生成高质量的遥测数据是推动团队提升生产系统支持能力最重要的因素:
我所合作过的最出色的团队,在编写实现业务成果的代码的同时,也投入了大量的时间来精心设计他们输出的数据信息。
Thwaites 说:“这是一项开发任务,而非运维任务。”他总结道:“一旦团队将遥测视为开发优质软件的核心组成部分,你就会在方方面面看到它的成效,无论是平均修复时间(MTTR)、平均检测时间(MTTD)、开发人员满意度、缺陷率,还是其他一切方面。”
InfoQ 就可观测性和遥测技术对 Martin Thwaites 进行了专访。
InfoQ:可观测性能为 AI 应用带来了什么?
Martin Thwaites:可观测性旨在帮助你向生产系统提出那些在编写代码时未曾意识到需要提出的问题,而这正是系统利用 AI 执行任务时所需要的。我们无法预知该系统将如何响应特定的输入,而且随着用户与其交互,这些输入不仅可能发生变化,而且必然会发生变化。
如今,从系统中获取包含独特业务背景的可靠的遥测数据变得比以往任何时候都更为重要,这样我们才能解答那些奇特而有趣的问题。
InfoQ:遥测技术与测试驱动开发之间有何关联?
Thwaites:遥测数据是应用程序的重要输出内容;它帮助我们了解用户的操作是如何正确执行的。如果我们在遵循 TDD 工作流程(即在实现代码之前编写测试)的情况下使用遥测数据来检验某个操作是否执行正确,那么我们所编写的代码从一开始就具有可观测性。
声明:本文为 InfoQ 翻译,未经许可禁止转载。
原文链接:https://www.infoq.com/news/2026/04/observability-telemetry/





