1、学习课程

带你十天轻松搞定 Go 微服务系列(九)- 服务监控

明天是学习 go 微服务的第九天,明天是学习链路追踪

2、go-zero 应用 Jaeger 链路追踪

2.1 增加 user api 服务 Telemetry 配置

$ vim mall/service/user/api/etc/user.yaml
Name: UserHost: 0.0.0.0Port: 8000...Telemetry:  Name: user.api  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.2 增加 user rpc 服务 Telemetry 配置

$ vim mall/service/user/rpc/etc/user.yaml
Name: user.rpcListenOn: 0.0.0.0:9000...Telemetry:  Name: user.rpc  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.3 增加 product api 服务 Telemetry 配置

$ vim mall/service/product/api/etc/product.yaml
Name: ProductHost: 0.0.0.0Port: 8001...Telemetry:  Name: product.api  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.4 增加 product rpc 服务 Telemetry 配置

$ vim mall/service/product/rpc/etc/product.yaml
Name: product.rpcListenOn: 0.0.0.0:9001...Telemetry:  Name: product.rpc  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.5 增加 order api 服务 Telemetry 配置

$ vim mall/service/order/api/etc/order.yaml
Name: OrderHost: 0.0.0.0Port: 8002...Telemetry:  Name: order.api  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.6 增加 order rpc 服务 Telemetry 配置

$ vim mall/service/order/rpc/etc/order.yaml
Name: order.rpcListenOn: 0.0.0.0:9002...Telemetry:  Name: order.rpc  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.7 增加 pay api 服务 Telemetry 配置

$ vim mall/service/pay/api/etc/pay.yaml
Name: PayHost: 0.0.0.0Port: 8003...Telemetry:  Name: pay.api  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

2.8 增加 pay rpc 服务 Telemetry 配置

$ vim mall/service/pay/rpc/etc/pay.yaml
Name: pay.rpcListenOn: 0.0.0.0:9003...Telemetry:  Name: pay.rpc  Endpoint: http://jaeger:14268/api/traces  Sampler: 1.0  Batcher: jaeger

提醒:配置批改后,须要重启服务才会失效。

systemctl restart docker

3、应用 Jaeger UI 查看链路

拜访 /api/user/userlogin api接口

在 第一章 环境搭建 中咱们集成了 Jaeger 服务,并为其 Jaeger UI 端口号16686 做了宿主机端口 5000 的映射关系,所以在浏览器中输出 http://你的IP:5000/ 拜访 Jaeger UI 界面。抉择 Search 菜单,在 Service 下拉框中抉择 user.api,最初点击 Find Traces 按钮,能够查问到刚刚拜访的 /api/user/userlogin 接口的链路追踪数据。

点击进去,就能够看到这个 /api/user/userlogin 接口的链路时序图,以及服务依赖关系,和耗时状况。

右上角的下拉菜单能够抉择不同的数据展现款式。

其余接口链路追踪效果图