夹杂着sleuth和zipkin的常遇问题:
UT005023: Exception handling request to /zipkin/index.html
解决:在自己搭建的zipkin服务模块的application.yml配置文件加上management.metrics.web.server.auto-time-requests=false
配置。关闭自动检测请求- 如果sleuth的链路信息一直为false(控制台信息输出),是不能在 zipkin页面查看到的链路信息的。
解决:
1> 在业务服务中(pom引入了sleuth依赖包的服务),application.yml配置文件加上spring.sleuth.sampler.probability=1的配置。(默认为0.1,只有10%的会被收集)
2> 如果还是一直为false,看看pom.xml文件引入的zipkin依赖是否是spring-cloud-starter-zipkin
。有一些搭建教学引入的是spring-cloud-starter-sleuth-zipkin,就会导致一直false。(可能跟项目的cloud和boot版本相关吧) - spring.application.name 不能包含下划线,因为在eureka中java.net.URI不能区分下划线,否则在进行服务调用的时候报错(
host name may not be null
) - 关于搭建zipkin服务端,在spring boot 2.X版本后,官方不推荐自行定制编译,提供了编译好的jar包来启动使用zipkin。
官方提供了一键脚本:
1> 下载地址:https://zipkin.io -> 点击左侧QuickStart,选择Java的 点击黄字latest release
,即可一下jar包。下面是启动命令
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
2> 如果用 Docker 的话,直接 docker run -d -p 9411:9411 openzipkin/zipkin - 如果要自己搭建zipkin服务,可以在pom.xml文件引入以下依赖
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>2.8.3</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>2.8.3</version>
</dependency>
在启动类上加@EnableZipkinServer注解。
【有参考https://blog.youkuaiyun.com/duanqing_song/article/details/80422301该文章。zipkin日志收集注意事项】