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 了。

相关推荐
学传打活4 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续3)
微信公众平台·1024程序员节·汉字·昆仑正义文化
学传打活9 天前
【边打字.边学昆仑正义文化】_进阶篇5 宇宙星系的运转(续1)
微信公众平台·1024程序员节·汉字·昆仑正义文化
fangzhanpeng16817 天前
快速掌握C#语言基础知识点(1.基础数据类型)
开发语言·c#·1024程序员节
无己心19 天前
面向多平台 AI 搜索引擎的适配层架构设计
前端·人工智能·搜索引擎·ai·1024程序员节
u01030552725 天前
AI驱动的安卓UI自动生成功能实现
人工智能·1024程序员节
u01030552725 天前
长株潭智能体赋能腾讯元器链接共享
1024程序员节
云贝贝贝1 个月前
OceanBase认证体系介绍与备考指南
运维·服务器·oceanbase·1024程序员节
u0103055271 个月前
Java图像处理实战指南
人工智能·1024程序员节
u0103055271 个月前
Java AWT鼠标事件全解析
人工智能·1024程序员节
u0103055271 个月前
Java实用类应用精讲
人工智能·1024程序员节