开源的可观测性项目OpenTelemetry最近发布了一本名为《揭开OpenTelemetry的神秘面纱》的综合性指南,旨在帮助各组织了解、采用并扩展基于OpenTelemetry标准的可观测性解决方案。该指南澄清了人们对该项目的常见误解,阐述了其各个组件在现代可观测性架构中的定位,并为那些希望在分布式系统中实现数据采集与监控的工程团队提供了实用建议。

OpenTelemetry如今已成为收集应用程序及基础设施产生的日志、指标、追踪数据等可观测性信息的通用标准。然而,由于其高度灵活性以及不断发展的生态系统,人们对于它的运作机制以及何时该使用哪些具体组件仍存在困惑。这份新指南旨在解答关于该项目用途、它与监控及可观测性平台之间的关系,以及它如何与云服务提供商和APM工具集成等方面的常见问题。通过这些内容,OpenTelemetry社区希望降低各组织采用这一标准的障碍,使团队能够更一致地实现对复杂应用程序的数据采集与分析。

OTLP这样的协议的作用,说明了这些组件是如何构成一个从应用程序内部的数据采集到后端数据分析的完整可观测性流程的。

Prometheus、JaegerGrafana等可观测性平台)来存储、查询这些数据并生成警报。此外,指南还讨论了性能优化方面的考虑因素、采样策略,以及如何在生产环境中部署数据采集工具而不增加不必要的开销。

OpenTelemetry社区指出,由于分布式服务、混合云以及人工智能驱动的系统使得基于云的系统的复杂性不断增加,因此一致的遥测数据对于理解系统行为至关重要。通过阐明其架构和使用方法,该项目希望能够促进更广泛的采用,并推动整个行业形成更加有效的可观测性实践。OpenTelemetry由Cloud Native Computing Foundation负责维护,目前越来越多的云服务提供商、可观测性平台以及那些希望使用不受特定供应商限制的监控工具的企业都在为该项目做出贡献。

OpenTelemetry团队需要纠正的一个常见误解是,人们认为OpenTelemetry本身就是一个可观测性平台或监控产品。实际上,OpenTelemetry只是一个与特定供应商无关的监控数据采集标准,并不提供用于存储、可视化数据或发送警报的后端服务。它提供了生成和导出遥测数据所需的API、SDK、数据模型以及数据收集工具,但各组织仍然需要自行选择合适的后端系统——无论是开源的还是商业化的——才能使这些数据真正发挥作用。另一个常见的误解是,认为采用OpenTelemetry就需要对现有系统进行大规模的重写。不过该指南明确指出,团队完全可以循序渐进地进行监控功能的部署,先从关键业务系统开始入手,随着技术成熟度的提高再逐步扩展覆盖范围。

该指南还纠正了这样一个观念:即认为收集更多的遥测数据就一定能提升可观测性。如果没有合理的采样机制、明确的语义规范以及清晰的服务目标,团队很可能会生成大量冗余且处理成本高昂的数据流,这些数据流非但无法提高可观测性,反而会增加系统的复杂性。同样,OpenTelemetry也不是适用于所有场景的解决方案——数据收集工具、数据导出模块以及数据处理流程都必须根据具体的工作负载特征、性能要求以及合规性需求来进行定制。通过将OpenTelemetry视为一个灵活的基础框架,而非一个现成的解决方案,该项目鼓励团队将可观测性视为一项重要的架构设计要素,而不仅仅是一种工具选择。

Grafana Labs和Splunk等公司发布的报告都指出,许多组织在为系统添加监控功能时,并没有制定明确的数据存储、查询或警报处理方案,这就导致了“可观测性债务”问题的产生。这些报告建议,应该将遥测数据的收集过程视为一个包含数据捕获、传输、存储以及数据分析等多个环节的完整生命周期,而不仅仅是一个简单的选项设置步骤。这一观点与OpenTelemetry的理念是一致的:收集数据仅仅是第一步,团队还需要进一步规划如何对这些数据进行处理、分析,并根据分析结果采取相应的行动。

还有其他观点指出了一些常见的误区,这些误区有时会与OpenTelemetry的理念存在分歧。一些工程相关的博客文章Reddit讨论帖以及DevOps调查报告》都指出,各组织在推动团队真正承担起相关职责、并在企业文化中融入可观测性理念方面仍然面临困难,而这些问题并不仅仅与技术层面的实现方式有关。他们认为,即使系统配备了完善的监控工具,如果团队不共同构建数据看板、不定义服务水平指标及目标,也不投资于培训开发人员以帮助他们解读收集到的监测数据,那么这些系统依然无法发挥应有的作用。因此,所面临的挑战不仅在于如何在技术上遵循OpenTelemetry等标准,更在于组织是否愿意将可观测性作为一种决策支持工具来使用,而不是将其仅仅视为一个独立的监控系统而已。

综合来看,这些资源都强调了这样一个核心观点:实现有效的可观测性既需要技术支持,也需要文化层面的配合。像OpenTelemetry这样的工具标准为数据采集与传输提供了必要的基础设施,但要真正发挥这些工具的价值,关键在于企业如何将收集到的数据融入到工作流程中,根据实际需求来定制数据处理流程,并避免过度收集数据从而导致信息冗余、无法获取有价值的信息的情况。

Comments are closed.