CnOps 智能运维与可观测社区
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题
导航菜单
首页开源项目实践文章视频课程常见问答开发者工具STAROps 专题

CnOps 智能运维与可观测社区

愿景

CnOps 智能运维与可观测社区是一个以"智能运维与可观测"为核心的开放、包容、分享的技术社区,旨在聚集运维专家、开发者和爱好者,共同探讨、学习和分享可观测最佳实践与最新技术,与众多技术社区合作互动,共同探讨交叉领域的技术挑战,推动可观测领域的创新与进步。

内容社区

  • 实践文章
  • 视频课程
  • 开源项目
  • 常见问答
  • 开发者工具

友情链接

  • Prometheus
  • Grafana Lab
  • OpenTelemetry
  • LoongCollector

关注我们

阿里云云原生公众号阿里云云原生
阿里云可观测公众号阿里云可观测

Copyright © 2026 CnOps 社区. All rights reserved.

首页/开源项目/OpenTelemetry/什么是 OpenTelemetry?
文档目录
文档开始手动插桩使用插桩库导出器资源采样什么是 OpenTelemetry?
开发人员入门运维人员入门参考应用规范
可观测性入门上下文传播
组件语义约定Resources(资源)插桩范围采样Distributions(发行版)术语表
演示架构Collector 数据流仪表盘开发Docker 部署Fork 演示仓库Kubernetes 部署
API 参考文档示例
PHP 零代码插桩
快速入门安装 Collector
管理发行版故障排查Collector 扩容转换遥测数据架构定制 Collector
基准测试自适应性
支持库列表
从 OpenTracing 迁移
规范状态概览
常见漏洞与暴露(CVE)处理敏感数据
前置条件Issue提交内容文档风格指南网站本地化博客PR 检查公告开发环境设置与构建、服务等命令SIG 审批者与维护者的实践指南

OpenTelemetry

什么是 OpenTelemetry?

OpenTelemetry 是一个可观测性框架和工具包, 旨在创建和管理遥测数据,如链路、 指标和日志。 重要的是,OpenTelemetry 对供应商和工具是中立的,这意味着它可以与各种可观测性后端一起使用, 包括 Jaeger 和 Prometheus 这类开源工具以及商业化产品。 OpenTelemetry 不是像 Jaeger、Prometheus 或其他商业供应商那样的可观测性后端。...

OpenTelemetry
是一个可观测性框架和工具包,
旨在创建和管理遥测数据,如链路、
指标和日志。
重要的是,OpenTelemetry 对供应商和工具是中立的,这意味着它可以与各种可观测性后端一起使用,
包括 Jaeger 和
Prometheus 这类开源工具以及商业化产品。

OpenTelemetry 不是像 Jaeger、Prometheus 或其他商业供应商那样的可观测性后端。
OpenTelemetry 专注于遥测数据的生成、采集、管理和导出。 OpenTelemetry 的一个主要目标是,
无论应用程序或系统采用何种编程语言、基础设施或运行时环境,你都可以轻松地将其仪表化。
重要的是,遥测数据的存储和可视化是有意留给其他工具处理的。

什么是可观测性? {#what-is-observability}

可观测性是通过检查系统输出来理解系统内部状态的能力。
在软件的背景下,这意味着能够通过检查遥测数据(包括链路、指标和日志)来理解系统的内部状态。

要使系统可观测,必须对其进行仪表化。也就是说,代码必须发出链路、指标或日志。
然后,仪表化的数据必须发送到可观测性后端。

为什么选择 OpenTelemetry? {#why-opentelemetry}

随着云计算、微服务架构的兴起和日益复杂的业务需求,软件和基础设施的可观测性需求比以往任何时候都要强烈。

OpenTelemetry 满足可观测性的需求,并遵循两个关键原则:

  1. 你所生成的数据归属于你自己,不会被供应商锁定。
  2. 你只需要学习一套 API 和约定。

这两个原则的结合赋予团队和组织在当今现代计算世界中所需的灵活性。

如果你想了解更多信息,请查阅 OpenTelemetry
的使命、愿景和价值观。

主要的 OpenTelemetry 组件 {#main-opentelemetry-components}

OpenTelemetry 包括以下主要组件:

  • 适用于所有组件的规范
  • 定义遥测数据形状的标准协议
  • 为常见遥测数据类型定义标准命名方案的语义约定
  • 定义如何生成遥测数据的 API
  • 实现规范、API 和遥测数据导出的语言 SDK
  • 实现常见库和框架的仪表化的库生态系统
  • 可自动生成遥测数据的自动仪表化组件,无需更改代码
  • OpenTelemetry Collector:接收、处理和导出遥测数据的代理
  • 各种其他工具,
    如用于 Kubernetes 的 OpenTelemetry Operator、
    OpenTelemetry Helm Charts 和
    FaaS 的社区资产

OpenTelemetry 广泛应用于许多已集成 OpenTelemetry
提供默认可观测性的库、服务和应用。

OpenTelemetry 得到众多供应商的支持,其中许多为
OpenTelemetry 提供商业支持并直接为此项目做贡献。

可扩展性 {#extensibility}

OpenTelemetry 被设计为可扩展的。一些扩展 OpenTelemetry 的例子包括:

  • 向 OpenTelemetry Collector 添加接收器以支持来自自定义源的遥测数据
  • 将自定义仪表化库加载到 SDK 中
  • 创建适用于特定用例的 SDK 或 Collector 的分发
  • 为尚不支持 OpenTelemetry 协议(OTLP)的自定义后端创建新的导出器
  • 为非标准上下文传播格式创建自定义传播器

尽管大多数用户可能不需要扩展 OpenTelemetry,但此项目几乎每个层面都可以实现扩展。

历史 {#history}

OpenTelemetry 是云原生计算基金会 (CNCF)的一个项目,是由
OpenTracing 和 OpenCensus 项目合并而成的。原来这两个项目都是为解决同样的问题而创建的:
缺乏一种标准的方法来为代码进行仪表化并将遥测数据发送到可观测性后端。
由于这两个项目都无法独立解决这个问题,所以将其合并成立了 OpenTelemetry,
吸收了双方的优势,提供了统一的解决方案。

如果你目前正在使用 OpenTracing 或 OpenCensus,
你可以在迁移指南中了解如何迁移到 OpenTelemetry。

接下来做什么? {#what-next}

  • 参阅入门指南 — 立即开始!
  • 了解 OpenTelemetry 的概念。

文章大纲