Jaeger项目背景和整体架构
项目背景
Jaeger项目是一套受到Dapper与OpenZipkin启发构建而成的分布式跟踪平台,由Uber公司最初以开源方式公布,随后加入了云原生计算基金会。该项目主要用于:监控并诊断基于微服务架构的分布式系统,具体涵盖:
- 分布式上下文传播
- 分布式事务监控
- 根本原因分析
- 服务依赖关系分析
- 性能/延迟优化
整体架构
下载安装和配置
安装前置条件
- 已经安装elasticsearch集群
- 安装好prometheus监控
从github下载二进制包
下载地址:
https://github.com/jaegertracing/jaeger/releases/download/v1.14.0/jaeger-1.14.0-linux-amd64.tar.gz
|
解压和配置
编写collector启动脚本start-colloector.sh
export SPAN_STORAGE_TYPE=elasticsearch nohup ./jaeger-collector --es.server-urls http://elasticsearch节点1的ip和端口/,http://elasticsearch节点2的ip和端口/,http=://elasticsearch节点3的ip和端口/ --log-level=debug > collector.log 2>&1 &
|
编写query启动脚本start-query.sh
export SPAN_STORAGE_TYPE=elasticsearch nohup ./jaeger-query --span-storage.type=elasticsearch --es.server-urls=http://elasticsearch节点1的ip和端口/,http://elasticsearch节点2的ip和端口/,http=://elasticsearch节点3的ip和端口/ > query.log 2>&1 &
|
编写agent启动脚本start-agent.sh
export SPAN_STORAGE_TYPE=elasticsearch nohup ./jaeger-agent --collector.host-port=192.168.172.9:14267 --discovery.min-peers=1 --log-level=debug > agent.log 2>&1 &
|
配置prometheus
配置监听14269端口
启动效果