首页 > 其他分享 >OpenTelemetry概述

OpenTelemetry概述

时间:2022-09-22 22:34:19浏览次数:78  
标签:CNCF OpenCensus 规范 OpenTelemetry 概述 com OpenTracing

1前世

如果你常年在处理一些日志、监控方面的东西,一定会在一定程度上听过OpenTracing,像 Zipkin、Jaeger、SkyWalking都对其有很好的支持。但是可惜,OpenTracing已经成为过去式了,现在的APM(全称:Application Performance Management tools,应用程序性能管理工具)世界,由一种叫做OpenTelemetry的规范所统治。那是因为,作为一个标准,OpenTracing遇到了对手,下面我们就讲解下OpenTelemetry的前世。

1.1 OpenTracing

OpenTracing制定了一套平台无关、厂商无关的Trace协议,使得开发人员能够方便的添加或更换分布式追踪系统的实现。在2016年11月的时候CNCF技术委员会投票接受OpenTracing作为Hosted项目,这是CNCF的第三个项目,第一个是Kubernetes,第二个是Prometheus,可见CNCF对OpenTracing背后可观察性的重视。比如大名鼎鼎的Zipkin、Jaeger都遵循OpenTracing协议。

OpenTracing语义规范:https://github.com/opentracing/specification/blob/master/specification.md

OpenTracing项目组依据OpenTracing语义规范实现多种语言的sdk:https://github.com/opentracing

简单来说,OpenTracing通过文档形式定义好了一套平台无关、厂商无关的Trace协议, 然后OpenTracing项目组依据定义好的Trace协议实现多种语言的sdk,Zipkin、Jaeger等链路追踪工具都按照OpenTracing协议标准实现。

1.2 OpenCensus

OpenTracing诞生于2016年11月,成为CNCF基金会的第三个项目。但是google并不认为这个东西是标准,所以推出了自己的OpenCensus规范。

大家可能会想,既然有了OpenTracing,OpenCensus又来凑什么热闹?对不起,你要知道OpenCensus的发起者可是谷歌,也就是最早提出Tracing概念的公司,而OpenCensus也就是Google Dapper的社区版(在 2005 年,Google 在内部部署了一套分布式追踪系统 Dapper,并发表了一篇论文《Dapper, a Large-Scale Distributed Systems Tracing Infrastructure》,阐述了该分布式追踪系统的设计和实现,可以视为分布式追踪领域的鼻祖)。OpenCensus和OpenTracing最大的不同在于除了Tracing外,它还把Metrics也包括进来,这样也可以在OpenCensus上做基础的指标监控;还一点不同是OpenCensus并不是单纯的规范制定,他还把包括数据采集的Agent、Collector一股脑都搞了。OpenCensus也有众多的追随者,最近最大的新闻就是微软也宣布加入,OpenCensus可谓是如虎添翼。

简单来说,OpenCensus类似于OpenTracing也是一种规范,OpenCensus项目组依据OpenTracing规范实现多种语言的sdk:https://github.com/census-instrumentation

1.3 OpenTracing vs OpenCensus

可以看到,OpenTracing和OpenCensus从功能和特性上来看,各有优缺点,OpenTracing支持的语言更多、相对对其他系统的耦合性要更低;OpenCensus支持Metrics、从API到基础框架都实现了个便。所以从功能和特性上分不出高下。

1.4 OpenTelemetry

这可苦了开发者。难道一个技术场景需要两种规范?

终于在2019年5月, 两者和解,共同发起了OpenTelemetry开源项目,旨在提供可观测性领域的标准化方案,解决观测数据的数据模型、采集、处理、导出等的标准化问题,管理观测类数据,如trace、metrics、logs等,其终态是作为CNCF技术委员会可观测性的终极解决方案。OpenTelemetry项目的第一宗旨就是:兼容OpenTracing和OpenCensus。对于使用OpenTracing或OpenCensus的应用不需要重新改动就可以接入OpenTelemetry。

注意:新工程全部使用OpenTelemetry项目即可,无需考虑OpenTracing和OpenCensus标准,OpenTracing和OpenCensus相关项目目前已落下帷幕,不再更新。

2、OpenTelemetry核心工作

Telemetry是遥测的意思,可以看到OpenTelemetry的野心是非常大的。

OpenTelemetry可谓是一出生就带着无比炫目的光环:OpenTracing支持、OpenCensus支持、直接进入CNCF sanbox项目。但OpenTelemetry也不是为了解决可观察性上的所有问题,他的核心工作主要集中在3个部分:

  1. 规范的制定,包括概念、协议、API,除了自身的协议外,还需要把这些规范和W3C、GRPC这些协议达成一致;
  2. 相关SDK、Tool的实现和集成,包括各类语言的SDK、代码自动注入、其他三方库(Log4j、LogBack等)的集成;
  3. 采集系统的实现,目前还是采用OpenCensus的采集架构,包括Agent和Collector。
可以看到OpenTelemetry只是做了数据规范、SDK、采集的事情,对于Backend、Visual、Alert等并不涉及,官方目前推荐的是用Prometheus去做Metrics的Backend、用Jaeger去做Tracing的Backend。   

 

参考:https://www.51cto.com/article/665025.html

参考:https://zhuanlan.zhihu.com/p/74930691

参考:合并OpenTracing和OpenCensus的趋同路线图

标签:CNCF,OpenCensus,规范,OpenTelemetry,概述,com,OpenTracing
From: https://www.cnblogs.com/zhangmingcheng/p/16720995.html

相关文章

  • 反射-Class对象功能概述和获取Field
    反射-Class对象功能 publicstaticvoidmain(String[]args)throwsException{//获取Person的Class对象ClasspersonClass=Person.class;......
  • Dubbo概述
    什么是RPCRPC是RemoteProcedureCall的缩写 翻译为:远程过程调用目标是为了实现两台(多台)计算机\服务器,相互调用方法\通信的解决方案RPC只是实现远程调用的一套标准......
  • 方法引用-数组的构造器引用和Junit测试概述
    方法引用-数组的构造器引用ArrayBuilder接口/*定义一个创建数组的函数式接口*/publicinterfaceArrayBuilder{//定义一个创建int类型数组的方法,参数传递......
  • 【Python】python语言基础概述
    1.文件类型python文件有3种类型:(1)源代码文件:xx.py。(2)字节代码文件:xx.pyc。由xx.py编译成的二进制字节码文件,通过Python程序加载执行,速度快,能够隐藏源码......
  • 第一章-系统概述
    1.1操作系统基本概述1.1.1OS的概念和功能操作系统是【控制和管理整个计算机系统的硬件和软件资源,合理组织,调度计算机工作与资源的分配】是一个程序集合,是最基本的系统软......
  • Kafka概述
    1、Kafka概述:和消息系统类似(1)特性:1)发布和订阅 2)实时处理数据流 3)分布式存储(2)功能:构建实时数据管道和实时数据流处理,横向扩展(通过增加机器的方式......
  • NR系统概述-架构与演进
    大家好,从今天开始我会把NR相关的知识以博文的方式放上来。可能速度会比较慢,时间也会拉得很长,因为内容比较多,我还在整理中,而且很多内容关联性很强,我得考虑介绍的先后顺序。......
  • JasperReport-PDF报表打印概述
    3PDF报表打印概述3.1概述在企业级应用开发中,报表生成、报表打印下载是其重要的一个环节。在之前的课程中我们已经学习了报表中比较重要的一种:Excel报表。其实除了Excel......
  • BOM 概述
    BOM概述1.什么是BOMBOM(BrowserObjectModel)即浏览器对象模型,它提供了独立于内容而与浏览器窗口进行交互的对象,其核心对象是window。BOM由系列相关的对象构成,......
  • 01-物体检测方法概述
    1.物体检测的派系2.传统方法 3.基于锚框的物体检测算法4.无需锚框的物体检测算法 5.物体检测常用数据集   5.1通用物体检测数据集    ......