Daniel Gomez Blanco 在 QCon London 的分享
Daniel Gomez Blanco 是 Skyscanner 的首席工程师,也是《Practical OpenTelemetry》一书的作者。他在 QCon London 上分享了 Skyscanner 大规模可观测性项目的经验,该项目基于 OpenTelemetry 在数百个服务中的应用,并讨论了在整个组织中采用开放标准的动机和所获得的价值。
可观测性的重要性
Blanco 强调,当系统发生变化时,如何知道发生了什么变化?一种原始的可观测性方法是通过打印语句,但这种方法在真实的分布式系统中无法有效扩展。Skyscanner 的系统复杂且分布式,包含数百个服务和数千个相互连接。当部署变更时,如何确定其对特定服务及其依赖的影响?这就是可观测性的作用。
可观测性的两大作用
- 系统是否按预期运行?
部署后,可观测性帮助回答系统是否按预期运行的问题。 - 系统为何未按预期运行?
当出现回归时,可观测性帮助识别系统未按预期运行的原因。
有效的可观测性
有效的可观测性包括以下几个方面:
- 高粒度:详细的遥测数据,对应系统事务中的单个操作。
- 丰富的上下文:在单一整体视图下考虑多个遥测信号和依赖关系。
- 信号关联:将指标、跟踪和日志关联到一个事件流中。
- 服务关联:将不同服务的遥测数据关联到同一操作中。
OpenTelemetry 的应用
Blanco 详细介绍了如何利用 OpenTelemetry 实现有效和高效的可观测性,包括在购买供应商产品或使用开源工具之间的决策,以及在 Skyscanner 中推广 OpenTelemetry 的过程。
关键要点
- 复杂系统需要有效的可观测性。
- 开放标准简化了可观测性。
- OpenTelemetry 使得信号能够高效使用。
InfoQ 采访
如何在 Skyscanner 推动 OpenTelemetry 的采用?
Blanco 表示,Skyscanner 多年来一直投资于开发者赋能,这带来了持续的回报。为了最小化服务所有者的摩擦,平台工程师主要做了两件事:
- 核心库和基础镜像:包含默认配置,驱动可观测性策略,无需应用程序进行代码更改。
- OpenTelemetry Collectors:汇集所有遥测数据,处理最后一跳的遥测和认证,并重新聚合和转换数据。
采用 OpenTelemetry 的最大好处是什么?
Blanco 认为,最大的好处是 OpenTelemetry 的 API 设计使得遥测仪器可以在最佳的手中,无论是库作者、遥测专家还是应用程序维护者。所有遥测数据可以关联到单一数据流中,而不是旧的三支柱模型。
如果想效仿 Skyscanner,一个好的起点是什么?
Blanco 建议首先理解 OpenTelemetry 能为组织带来的价值,并有效传达。对于有大量遗留系统的团队,最大的 ROI 可能是简化遥测库和导出管道;对于新项目,最大的价值可能来自 OpenTelemetry 提供的高质量遥测数据。此外,评估 OpenTelemetry 提供的仪器库,并了解 OpenTelemetry Collectors 也是重要的起点。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用。你还可以使用@来通知其他用户。