大家好,我是烤鸭。
之前也试过网上很多版本,看了好多文章。现在分享最简单的方式,代码侵入性最小的。
1. 修改pom,引入jar。
<!-- https://mvnrepository.com/artifact/org.springframework/spring-webmvc -->
<dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>5.0.9.RELEASE</version>
</dependency>
<!--zikpin-->
<!-- https://mvnrepository.com/artifact/io.zipkin.brave/brave-instrumentation-dubbo-rpc -->
<dependency><groupId>io.zipkin.brave</groupId><artifactId>brave-instrumentation-dubbo-rpc</artifactId><version>5.6.8</version>
</dependency>
<dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<!--zikpin end -->
2. 下载 zipkin.jar 并启动
wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
nohup java -jar zipkin-server-2.12.9-exec.jar
启动成功后访问如图:
3. 修改 yml 配置文件
增加 zipkin相关配置,provider 和 consumer 都需要添加
spring:servlet:multipart:max-file-size: 20MBmax-request-size: 20MBenabled: truezipkin:enabled: truebase-url: http://xx.xx.xx.69:9411 #zipkin地址sender:type: web #向http发送trace信息
provider:
增加 provider.filter: 'tracing'
dubbo:application:id: etc_manage_servicename: etc_manage_serviceprotocol:port: 20883threadpool: cachedthreads: 500accepts: 1000dispatcher: messageprovider:timeout: 600000filter: 'tracing'registry:address: zookeeper://127.0.0.1:2181scan:basePackages: xxx.xxx
consumer:
增加 consumer.filter: 'tracing'
dubbo:application:id: etc_manage_webname: etc_manage_webregistry:address: zookeeper://127.0.0.1:2181scan:base-packages: xxx.xxxconsumer:filter: 'tracing'
4. 启动服务后,调用如图:
总结:
最开始的时候,也有时候会有调用服务,但是zipkin 没有收到请求的情况,发现是 zipkin 没有生效,可能是引入的zipkin的包太多了,删除不用的。
还有zipkin的配置:
zipkin.base-url:xx
这个地方是 base-url,不是baseUrl。
还有就是 consumer 有记录,但是 provider没有。
配置了 provider.filter 之后,又重启了服务,之后试了几次,就可以了。