可观测性OpenTelemetry-Metrics(指标)

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

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,开发人员和运维人员可以更轻松地理解和优化分布式应用程序的性能和
  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
kube-state-metrics是一个开源的Kubernetes组件,用于将Kubernetes资源信息转换为指标metrics)并暴露给Prometheus。YAML是Kubernetes中常用的声明式配置文件格式。kube-state-metrics也需要通过YAML配置文件进行部署和管理。下面来详细介绍kube-state-metrics YAML的几个方面。 首先,kube-state-metrics YAML需要配置Kubernetes API Server的地址、证书等信息,以便通过API Server获取资源信息。其次,kube-state-metrics需要指定需要收集的资源类型,比如Pod、Deployment等。这些资源类型通过Kubernetes API定义,kube-state-metrics会通过API Server获取这些资源的详细信息,并将其转换为指标。此外,kube-state-metrics YAML还需要指定需要暴露给Prometheus的指标端口等信息,以便Prometheus可以通过这些指标监控Kubernetes集群各种资源的使用情况。 在kube-state-metrics的配置中,还需要指定各个资源指标的定义方式,例如当Pod或Deployment出现异常时,kube-state-metrics需要如何定义这些指标?以及在Prometheus中如何查询这些指标。因此,可以在kube-state-metrics的YAML文件中定义各个指标的名称,以及在Prometheus中的查询方式。这里的细节需要参考kube-state-metrics的文档。 总之,kube-state-metrics YAML是配置kube-state-metrics组件的一种方法,通过对该文件进行配置,可以定制化kube-state-metrics组件的行为,并将它整合到Kubernetes集群中。而kube-state-metrics指标可以用于Kubernetes集群的监控和自动化管理。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值