可观测性OpenTelemetry-Metrics(指标)

OpenTelemetry是一个开源的观测性工具集合,提供标准化的API和SDK,用于生成、收集和处理分布式系统的遥测数据,包括跟踪、度量和日志。它允许开发人员以一致的方式了解其服务的性能和依赖关系,支持多种语言和观测性后端,如Prometheus。文章还介绍了OpenTelemetryMetrics的类型,如Counter、Gauge和Histogram,以及手动仪表化的步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 什么是OpenTelemetry

在介绍指标(Metrics)之前,我们先了解一下: 什么是OpenTelemetry?

微服务架构使开发人员能够更快地构建和发布软件,同时具有更大的独立性,因为他们不再受制于与单体架构相关的繁琐发布流程。随着这些现在分布式的系统的规模扩大,开发人员越来越难以看到他们自己的服务如何依赖或影响其他服务,特别是在部署期间或停机期间,速度和准确性至关重要。观测性使开发人员和操作员都能够获得对其系统的可见性。

那么呢?为了使系统具有可观测性,必须进行仪表化。也就是说,代码必须发出跟踪、度量和日志。然后,仪表化数据必须发送到观测性后端。市场上有许多观测性后端,从自托管的开源工具(例如Jaeger和Zipkin)到商业SaaS产品不一而足。

过去,代码的仪表化方式会有所不同,因为每个观测性后端都有自己的仪表化库和代理程序,用于向工具发出数据。这意味着没有标准化的数据格式用于将数据发送到观测性后端。此外,如果公司选择切换观测性后端,这意味着他们必须重新仪表化他们的代码并配置新代理程序,以便能够向新的工具发出遥测数据。

缺乏标准化的结果是数据可移植性的缺乏和用户维护仪表化库的负担。认识到标准化的必要性,云社区走到了一起,诞生了两个开源项目:OpenTracing(一个Cloud Native Computing Foundation(CNCF)项目)和OpenCensus(一个Google开源社区项目)。

OpenTracing 提供了一个供应商中立的API,用于将遥测数据发送到观测性后端;但是,它依赖于开发人员实现自己的库以符合规范。

OpenCensus 提供了一组特定语言的库,开发人员可以使用这些库来仪表化他们的代码,并将其发送到他们支持的任何一个后端。

由于上面说的种种原因就催生了OpenTelemetry

为了拥有一个单一的标准,OpenCensus和OpenTracing于2019年5月合并,形成了OpenTelemetry(简称OTel)。作为CNCF孵化项目,OpenTelemetry结合了两者的优点,并有所创新。OTel的目标是提供一组标准化的供应商中立的SDK、API和工具,用于将数据摄入、转换和发送到观测性后端(即开源或商业供应商)。

简单的说什么是OpenTelemetry

  • OpenTelemetry是一个开源的观测性工具和API集合,用于生成、收集和处理分布式系统的遥测数据。它提供了一种标准化的方式来跟踪分布式应用程序的性能和行为,并将这些数据发送到不同的观察平台进行存储、分析和可视化。也就是 OpenTelemetry 是一套观察性的标准。
  • OpenTelemetry具有语言无关性,支持各种编程语言和框架,并可与多种观察平台集成。通过使用OpenTelemetry,开发人员和运维人员可以更轻松地理解和优化分布式应用程序的性能和
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值