go微服务开发:使用jaeger实现go-zero链路追踪

在之前的go-zero教程里,我们介绍了使用演示工程开发user模块和search模块,为了更直观的呈现请求的生命周期,我们引入:链路追踪,这里我们使用的链路追踪工具是jaeger,如果你想了解更多jaeger的内容,可以参考这里 https://rocdu.gitbook.io/jaeger-doc-zh/getting-started

 

开发环境

Windows 11

terminal preview

go 1.19

 

第一步:为go-zero的演示工程模块添加jaeger配置参数

go-zero的演示工程有2个模块,分别是:user和search,要为这2个模块配置jaeger,需要进行如下操作:

1. 编辑 service/user/api/etc/user-api.yaml,添加jaeger配置参数:

#链路追踪 http://localhost:16686/search
Telemetry:
  Name: user.api
  Endpoint: http://localhost:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

2.编辑 service/search/api/etc/search-api.yaml,添加jaeger配置参数:

#链路追踪 http://localhost:16686/search
Telemetry:
  Name: search.api
  Endpoint: http://localhost:14268/api/traces
  Sampler: 1.0
  Batcher: jaeger

 

第二步:为Windows环境配置jaeger

从jaeger的官网或https://rocdu.gitbook.io/jaeger-doc-zh/getting-started下载二进制的jaeger的可执行文件,下载完解压到本地文件夹,如:d:/soft/jaeger-1.42.0-windows-amd64

 

第三步:启动jaeger

打开terminal preview,切换到d:/soft/jaeger-1.42.0-windows-amd64文件夹下,执行下面的命令启动jaeger:

jaeger-all-in-one.exe

  在浏览器访问 http://localhost:16686/search

 

第四步:使用jaeger查看请求链路

使用terminal preview,打开cmd命令提示符,执行下面的命令:

curl -i -X GET http://127.0.0.1:8889/search/ping

  请求search模块的search/ping接口,刷新 http://localhost:16686/search,把左侧的service下拉列表选择search.api服务,然后点Find Traces,在右边可以看到刚才发起的请求,点开就可以看到请求链路的详细信息了。

 
 
 
 
 
posted @ 2023-03-16 19:23  jamstack  阅读(436)  评论(0编辑  收藏  举报