首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Jaeger分布式追踪监控实践

Jaeger分布式追踪监控实践

作者头像
无涯WuYa
发布2022-06-16 14:59:57
发布2022-06-16 14:59:57
1.2K0
举报

分布式追踪监控中详细地介绍了分布式追踪监控的思想以及Jaeger的环境搭建。下来详细地介绍下Jaeger分布式追踪监控的最佳实践和案例应用。在Jaeger中自带了HotROD的项目,使用该项目可以详细地演示下Jaeger分布式追踪监控的案例应用。首先搭建HotROD的环境,使用Docker搭建的命令如下:

代码语言:javascript
复制
docker run --rm -it --link jaeger -p8080-8083:8080-8083 jaegertracing/example-hotrod:1.6 all --jaeger-agent.host-port=jaeger:6831

执行后输出的信息如下:

代码语言:javascript
复制
2022-06-02T10:29:53.774Z  INFO  cmd/root.go:74  Using expvar as metrics backend
2022-06-02T10:29:53.776Z  INFO  cmd/all.go:25  Starting all services
2022-06-02T10:29:53.971Z  INFO  log/logger.go:37  Starting  {"service": "frontend", "address": "http://0.0.0.0:8080"}
2022-06-02T10:29:53.973Z  INFO  log/logger.go:37  Starting  {"service": "route", "address": "http://0.0.0.0:8083"}
2022-06-02T10:29:54.085Z  INFO  log/logger.go:37  Starting  {"service": "customer", "address": "http://0.0.0.0:8081"}
2022-06-02T10:29:54.088Z  INFO  log/logger.go:37  TChannel listening  {"service": "driver", "hostPort": "[::]:8082"}

显示如上信息后表示启动成功,下来在浏览器输入地址http://localhost:8080/就会显示HotROD的主页面:

在HotROD的应用程序中使用到的数据库是MySQL,中间件是Redis,点击Trom Chocolatier,就会返回请求成功后的调试信息,具体如下:

在Jarger的服务列表中就可以看到frontend等服务,具体如下:

选择服务frontend后,点击Find Traces后显示的最新的请求信息如下所示:

在请求中点击frontend就可以看到请求的完整链路,具体如下所示:

也可以查看各个请求段的耗时和响应时间,具体如下:

当然也可以看到各个链路之间的调用关系,具体如下所示:

查看详细的DAG的交互以及链路,具体如下:

在Jarger中可以看到各个想看的,比如调用过程中涉及到的SQL语句,具体如下:

也可以看到Redis出现红色的错误,具体如下:

在如上,可以看到它完整的分析信息,包含了耗时,链路,执行的SQL,以及Redis,以及DAG的资源和其他的信息,那么梳理出完整的请求链路,具体汇总如下:

  • 客户端调用服务frontend的/dispatch地址
  • frontend服务通过/customer端点向customer服务发送HTTP的GET请求
  • customer服务调用MySQL执行语句然后把结果信息返回给frontend服务
  • 然后在frontend发送RPC请求给driver的服务
  • driver开始调用redis服务
  • 接着frontend服务向route服务的/route端点发送了HTTP的GET请求
  • 最后frontend得到调用的结果信息返回给UI

在如上中,结合Jaeger自带的项目hotROD,可以看到使用该分布式追踪监控工具可以看到我们想看到的信息,以及定位和分析请求链路中到底是什么导致了问题的原因,可以说是非常的强大。本文章就总结的这里,后续逐步的继介绍Jaeger的埋点技术以及与SpringBoot,Django,Flask的整合。感谢您的阅读!

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-08,如有侵权请联系 cloudcommunity@tencent.com 删除
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档