OpenTelemetry与.NET集成概述(一)之OpenTelemetry核心概念

什么是 OpenTelemetry?

OpenTelemetry 是一个可观测性框架和工具包,

  • 旨在简化以下可观测数据

    • 追踪Traces
    • 指标Metrics
    • 日志Logs

    的生成Generation,导出Export以及收集Collection。

  • 开源且与供应商和工具无关,这意味着它可以与各种可观测性后端配合使用,包括 Jaeger 和 Prometheus 等开源工具,以及商业产品。但 OpenTelemetry 本身并不是一个可观测性后端。

  • 主要目标是让应用程序和系统易于检测,无论使用何种编程语言、基础设施和运行时环境。也就是说和语言,框架无关。

  • 可观察数据的后端(存储)和前端(可视化)则由留给其他工具处理。

什么是可观测性?

可观测性是指通过检查系统输出来了解其内部状态的能力。在软件领域,这意味着通过检查追踪、指标和日志等遥测数据来理解系统的内部状态。要使系统具有可观测性,必须对其进行检测 —— 即代码必须发出追踪、指标或日志。然后,检测到的数据必须发送到可观测性后端。

为什么选择 OpenTelemetry?

随着云计算、微服务架构和日益复杂的业务需求的兴起,对软件和基础设施可观测性的需求比以往任何时候都更迫切。
OpenTelemetry 通过以下两个关键原则满足可观测性需求:

  1. 数据所有权:您生成的数据归您所有,不存在供应商锁定。

  2. 统一标准:您只需学习一套 API 和规范。

这两个原则的结合为团队和组织在当今的现代计算环境中提供了所需的灵活性。