本文简单介绍如何在项目中集成链路追踪。
集成 日志收集集成 之后,再做链路追踪就比较简单。
在项目中,添加 peacetrue-microservice-zipkin
模块,安装启动 Zipkin 服务:
$ cd peacetrue-microservice-zipkin
$ curl -sSL https://zipkin.io/quickstart.sh | bash -s
$ java -jar zipkin.jar
因为 zipkin.jar 比较大,没有放在项目中,使用时需要通过以上命令下载。
官网推荐方式是通过 jar 运行,不要内嵌到本地项目运行。不能享受 Spring 统一配置很遗憾。 |
---|
打开 Zipkin 首页 http://localhost:9411 ,界面如下:
Figure 1. zipkin首页
只需要添加 org.springframework.cloud:spring-cloud-starter-zipkin
依赖。
访问外部客户端 GET /message
接口后,整个调用过程如下:
Figure 2. 测试效果
涉及到 3 个服务,4 次调用,总耗时约 668 毫秒。
Zipkin 默认使用内存存储,不适合生产环境使用,改为 Elasticsearch。在 日志收集集成 中,已经安装好了 Elasticsearch,这里直接使用。
首先,指定使用 elasticsearch 存储:
$ STORAGE_TYPE=elasticsearch java -jar zipkin.jar
然后,配置 Elasticsearch 的相关参数 [1]:
#指定 Elasticsearch 的地址、用户名和密码
$ STORAGE_TYPE=elasticsearch ES_HOSTS=http://localhost:9200 ES_USERNAME=peacetrue ES_PASSWORD=password java -jar zipkin.jar
命令行指定参数太辛苦,怀念 Spring 的 YML 配置。 |
---|
1. 详细参数看这里 https://github.com/openzipkin/zipkin/tree/master/zipkin-server#elasticsearch-storage
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。