一 jaeger基础
1 基本介绍
- jaeger的开发语言是
golang
- jaeger支持OpenTracing协议,同属于CNCF基金会
- jaeger支持各种各样的客户端,包括Go、Java、Node、Python、C++等
- jaeger支持udp协议传输,当然也支持http
jaeger的官网是 http://www.jaegertracing.io/
OpenTracing的官网是https://opentracing.io/
2 能够解决的问题
- 分布式事务监控
- 性能分析与性能优化
- 调用链,找到根源问题
- 服务依赖分析
3 架构
jaeger具有两种架构:
第一种:直接将数据写入存储
第二种:使用Kafka作为缓冲
通过对以上两图的观察,我们可以得知jaeger架构主要包括以下组件:
- jaeger-client:嵌入在应用程序里面,负责span的创建以及上报
- jaeger-agent:每个物理机部署一个,负责收集client上报的span,然后转发给collector
- jaeger-collector:接收agent发来的span,写入后端存储
- jaeger-query:提供rest接口,负责从存储中拉取trace信息供UI查询
- jaeger-ui:展示trace和服务依赖图
二 安装和部署
jaeger可以直接通过二进制安装包安装、部署到window上。</