Jaeger 介绍:

官方给出的特性介绍:

分布式上下文传递
分布式事务监控
根本原因分析
服务依赖分析
性能、延迟优化
可扩展性

Jaeger的后端为无单点故障设计,可随时根据需要进行扩展;uber每天使用它处理几十亿级别的span。

span,表示一个逻辑工作单元,包含有操作名称、起始时间以及操作耗时。span之间可以存在嵌套和并排关系,span之间也有顺序。
原生支持OpenTracing

通过span引用以有向无环图表示trace
支持强类型的span tag和结构化日志
通过baggage支持分布式的上下文传递
Jaeger的后端,webUI,以及相关的框架适配库的设计实现都是支持OpenTracing标准的;
另外,开头提到的OpenTelemetry也是兼容OpenTracing的,所以博主推荐直接使用OpenTelemetry的API,点击这里查看OpenTelemetry对各家语言和框架的SDK和适配库(英文称Instrumentation)。

云原生部署

官方已将Jaeger后端打包为docker镜像发布;
二进制文件支持CLI选项、ENV、配置文件方式三种方式加载配置;
K8s部署, 参考Kubernetes operator, Kubernetes templates and a Helm chart.
可观测性
Jaeger后端组件均支持暴露指标到Prometheus(其他监控后端也支持);
Log是通过第三日志库zap写到stdout

向后兼容Zipkin client
如果你已经使用Zipkin作为trace平台,并且希望迁移到Jaeger,不用太担心;
无需重写client代码,Jaeger后端支持Zipkin格式的span,只需要将数据的转发目的地指向Jaeger后端就行。

其创造者发布了一本书Mastering Distributed Tracing,其中涵盖了Jaeger的设计和操作的方方面面,以及常见的分布式链路追踪。

关于两者的选择,也是见仁见智吧;我个人的看法,如果你或你的团队主要使用Go语言开发,我仍然建议使用Jaeger,这样在使用过程中遇到库方面的问题后,你能够方便的查询client源码或Jaeger源码来定位问题,甚至也许你可以自己解决问题,或者也能够在Github上高效的反馈bug或提问;
另外,可以方便我们阅读源码学习其中的设计之道。

jaeger 安装:

1. 安装
为方便演示,使用官方推荐的Docker快速启动方式:
docker run -d --name=jaeger -p6831:6831/udp -p16686:16686 jaegertracing/all-in-one:latest

浏览器Web UI: http://localhost:16686/

注意:这个docker镜像封装的jaeger是把数据放在内存中的,仅用于测试,正式使用需指定后端存储。

2. 使用
现在需要一点数据让我们把页面操作起来。

package mainimport ("time""github.com/opentracing/opentracing-go""github.com/uber/jaeger-client-go"jaegercfg "github.com/uber/jaeger-client-go/config"
)func main() {cfg := jaegercfg.Configuration{Sampler: &jaegercfg.SamplerConfig{Type:  jaeger.SamplerTypeConst,Param: 1,},Reporter: &jaegercfg.ReporterConfig{LogSpans:           true,LocalAgentHostPort: "127.0.0.1:6831",},ServiceName: "fish_test",}tracer, closer, err := cfg.NewTracer(jaegercfg.Logger(jaeger.StdLogger))if err != nil {panic(err)}opentracing.SetGlobalTracer(tracer)defer closer.Close()span := opentracing.StartSpan("go-grpc-web")time.Sleep(time.Second)defer span.Finish()
}

链路追踪之Jaeger安装与使用相关推荐

  1. 【分布式系统篇】链路追踪之Jaeger安装使用入门

    目录 1. 前世 2. Jaeger与Zipkin 2.1 关于Jaeger 3. 安装 4. 使用 4.1 启动一个应用 4.2 发送请求 4.2 Jaeger查看服务架构 4.3 查看一个trac ...

  2. 分布式链路追踪opentracing-go jaeger小示例

    opentracing是一套分布式链路跟踪规范,jaeger(Uber开源)是该规范的go语言实现,分布式链路跟踪主要用于复杂分布式系统(如微服务)的调用链跟踪及性能分析 jaeger提供了docke ...

  3. opentelemetry+python+jaeger链路追踪相关使用备注

    什么是链路追踪: 在 分布式微服务架构中, 一个请求从用户发起到接收,后端服务可能要经过多个微服务间调用,及多个功能组件(mysql,redis...)和网络请求(http,upd),在这个过程中,任 ...

  4. Istio四之故障注入和链路追踪

    前面介绍了如何通过配置VirtualService等完成流量管理,此篇博客将介绍Istio的另外一个能力故障注入和超时配置等,这些配置也是再VirtualService中完成. 下面的VirtualS ...

  5. windows安装使用jaeger链路追踪

    一.下载安装nssm 下载地址:https://nssm.cc/download 解压到d盘 添加到系统环境变量 二.下载安装es,jaeger利用es存储上报信息 下载地址:https://www. ...

  6. go 链路追踪_【go-micro实践】jaeger分布式链路追踪

    安装jaeger jaeger提供一个all in one 的docker镜像,可以快速搭建实验环境 docker run -d --name jaeger -e COLLECTOR_ZIPKIN_H ...

  7. 35、jaeger链路追踪

    目录 一.链路追踪 1 - 链路追踪简介 2 - 链路追踪技术选型 3 - jaeger安装 4 - jaeger组成 5 - opentracing解析 二.go使用jaeger 1 - 发送单sp ...

  8. 链路追踪jaeger

    1. 什么是链路追踪 分布式链路追踪(Distributed Tracing),也叫 分布式链路跟踪,分布式跟踪,分布式追踪 等等. 本文使用分布式Trace来简称分布式链路追踪. 本篇文章只是从大致 ...

  9. 微服务,链路追踪,opentracing+jaeger(六)

    参考文档 opentracing详解:https://pjw.io/articles/2018/05/08/opentracing-explanations/ opentracing中文文档:http ...

最新文章

  1. jsonSuggest插件如何在使用前激活
  2. python字符串的split replace strip
  3. SAP ABAP实用技巧介绍系列之利用RTTC给DDIC structure动态添加新的field
  4. Hadoop安装之JDK在Centos虚拟机中安装
  5. cacti监控服务器
  6. Scala:数据类型和变量
  7. html中ip输入格式正则表达式,通过正则表达式验证IP和端口格式的正确性
  8. 软件需求分析报告模板
  9. uni-app开发环境配置及混合开发流程
  10. JavaWeb教程———Ajax
  11. Flask留言板Demo
  12. dirent struct_file属性读取 Struct dirent struct stat
  13. github 443问题
  14. Excel数据分析系列(5):Excel 数据可视化
  15. Outlook 2013 重新联姻Hotmail ,Exchange ActiveSync牵线搭桥
  16. Blender建模模块:把顶点压平的优雅姿势
  17. 怎样不改变图片像素把图片压缩到20KB以内?
  18. c语言赋值符号,运算符赋值运算符 - C语言教程
  19. python申明变量注意事项_python申明变量
  20. 消除Windows XP开机画面

热门文章

  1. Android studio安装配置
  2. (一)python网络爬虫(理论+实战)——爬虫的初步认识
  3. http会话的四个过程
  4. 揭秘家用路由器0day漏洞挖掘技术-Chapter1-读书笔记
  5. 股票在不同阶段有哪些卖出技巧?
  6. 甲乙两人从两地同时出发,若相向而行,则a小时相遇;若同向而行,则b小时甲追及乙,那么,甲乙两人的速度之比为()
  7. Anaconda和pycharm
  8. 计算机应用基础 网络协议,计算机应用基础网络.ppt
  9. 方舟服务器恐龙等级修改器,方舟服务器恐龙的等级 | 手游网游页游攻略大全
  10. 《数字恐龙》为了一次配种,他们努力了半年