Docker 部署 Jaeger

Jaeger 的主要作用如下:

  1. 分布式追踪

    Jaeger 是一个开源的分布式追踪系统,用于监控和排查微服务架构中的复杂问题。它可以跟踪请求在不同服务之间的传播路径,帮助开发者理解系统中各个组件之间的调用关系。

  2. 性能分析

    通过收集和分析请求的执行时间,Jaeger 可以帮助识别系统中的性能瓶颈,找出耗时较长的操作,从而优化系统性能。

  3. 故障排查

    当系统出现问题时,Jaeger 可以帮助快速定位故障源,追踪错误的传播路径,大大缩短问题排查的时间。

  4. 依赖分析

    Jaeger 可以生成服务依赖图,直观地展示系统中各个服务之间的调用关系,有助于理解和优化系统架构。

  5. 数据可视化

    Jaeger 提供了直观的 Web UI,可以以图形化的方式展示追踪数据,包括时间轴、调用树等,方便开发者分析和理解系统行为。

  6. 多语言支持

    Jaeger 支持多种编程语言,包括 Java、Go、Python、Node.js 等,可以在不同技术栈的项目中使用。

  7. 兼容性

    Jaeger 兼容 OpenTracing 和 OpenTelemetry 标准,可以与其他遵循这些标准的工具集成。

  8. 可扩展性

    Jaeger 的架构设计支持高可用性和可扩展性,适用于大规模分布式系统的监控需求。

总之,Jaeger 是一个强大的工具,可以帮助开发团队更好地理解、监控和优化复杂的分布式系统,提高系统的可观测性和可维护性。

Jaeger 官方提供了多个 Docker 镜像,其中最简单的是 all-in-one 镜像:

复制代码
docker pull jaegertracing/all-in-one:latest

这个镜像在一个容器中运行所有 Jaeger 后端组件和 UI。

拉取镜像后,使用以下命令启动 Jaeger:

复制代码
docker run --rm --name jaeger \
  -e COLLECTOR_ZIPKIN_HOST_PORT=:9411 \
  -p 6831:6831/udp \
  -p 6832:6832/udp \
  -p 5778:5778 \
  -p 16686:16686 \
  -p 4317:4317 \
  -p 4318:4318 \
  -p 14250:14250 \
  -p 14268:14268 \
  -p 14269:14269 \
  -p 9411:9411 \
  jaegertracing/all-in-one

主要端口说明:

  • 16686:Jaeger 查询 HTTP 端口(Web UI)
  • 14268:Jaeger Collector HTTP 端口
  • 14250:Jaeger Collector gRPC 端口

Web 端 Nginx 配置

在 Nginx 中添加以下伪静态配置:

复制代码
location / {
  proxy_pass http://127.0.0.1:16686;
  proxy_set_header Host $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  proxy_set_header X-Forwarded-Proto $scheme;
  proxy_set_header X-NginX-Proxy true;
  real_ip_header X-Real-IP;
  proxy_connect_timeout 300;
  proxy_http_version 1.1;
  proxy_set_header Upgrade $http_upgrade;
  proxy_set_header Connection "upgrade";
  chunked_transfer_encoding off;
}

注意:为了确保样式和 JS 功能正常,请注释掉以下配置:

复制代码
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# 	expires      30d;
# 	error_log /dev/null;
# 	access_log /dev/null;
# }

# location ~ .*\.(js|css)?$
# {
#     expires      12h;
#     error_log /dev/null;
#     access_log /dev/null;
# }

完成以上步骤后,您就可以通过 Web 浏览器访问 Jaeger UI 了。

相关推荐
数据皮皮侠AI13 小时前
中国城市可再生能源数据集(2005-2021)|顶刊 Sci Data 11 种能源面板
大数据·人工智能·笔记·能源·1024程序员节
计算机毕业论文辅导3 天前
物联网实战:基于MQTT协议的智能家居数据传输系统设计与实现
1024程序员节
开开心心就好4 天前
支持批量处理的视频分割工具推荐
安全·智能手机·rust·pdf·电脑·1024程序员节·lavarel
liuyao_xianhui6 天前
Linux开发工具结尾 _make
linux·运维·服务器·数据结构·哈希算法·宽度优先·1024程序员节
学传打活8 天前
【边打字.边学昆仑正义文化】_21_爱的结晶(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
数据皮皮侠AI15 天前
顶刊同款!中国地级市风灾风险与损失数据集(2000-2022)|灾害 / 环境 / 经济研究必备
大数据·人工智能·笔记·能源·1024程序员节
Fab1an16 天前
Busqueda——Hack The Box 靶机
linux·服务器·学习·1024程序员节
技术专家16 天前
Stable Diffusion系列的详细讨论 / Detailed Discussion of the Stable Diffusion Series
人工智能·python·算法·推荐算法·1024程序员节
学传打活19 天前
古代汉语是源,现代汉语是流,源与流一脉相承。
微信公众平台·1024程序员节·汉字·中华文化
学传打活24 天前
【边打字.边学昆仑正义文化】_19_星际生命的生存状况(1)
微信公众平台·1024程序员节·汉字·昆仑正义文化