jdk1.8;spring boot2.0.3;spring cloud(Finchley.RELEASE版本);Maven3.3
Zipkin:Zipkin是一个分布式追踪系统。它有助于收集解决微服务架构中的延迟问题所需的时序数据。它管理这些数据的收集和查找。Zipkin的设计基于 Google Dapper实现。应用程序用于向Zipkin报告时序数据。Zipkin用户界面还提供了一个依赖关系图,显示每个应用程序有多少跟踪请求。如果要解决延迟问题或错误,可以根据应用程序,跟踪长度,注释或时间戳对所有跟踪进行筛选或排序。选择跟踪后,您可以看到每个跨度所需的总跟踪时间百分比,从而可以识别问题应用程序。
更多内容请查阅官网;
创建一个新的zipkinServer子项目,搭建一个zipkinServer服务器;
4.0.0
pers.cc
springCloud
0.0.1-SNAPSHOT
zipkinServer
全链路追踪监控
zipkinServer
org.springframework.boot
spring-boot-starter-web
io.zipkin.java
zipkin-server
2.9.4
io.zipkin.java
zipkin-autoconfigure-ui
2.9.4
使用@EnableZipkinServer注解开启zipkin配置:
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import zipkin.server.internal.EnableZipkinServer;
@SpringBootApplication
@EnableZipkinServer
public class ZipkinServerApplication {
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class, args);
}
}
public static void main(String[] args) {
SpringApplication.run(ZipkinServerApplication.class, args);
}
}
配置application.properties
#配置服务及端口(默认9411)
spring.application.name=zipkin-server
server.port=9411
#去除控制台异常
management.metrics.web.server.auto-time-requests=false
pom.xml添加spring-cloud-starter-zipkin
org.springframework.cloud
spring-cloud-starter-zipkin
配置application.properties
#指定zipkin中心
spring.zipkin.base-url=http://localhost:9411
先后启动
zipkin中心(zipkinServer):zipkin-server(9411)
服务注册中心(eurekaServer):eureka-server(1001)
服务提供者(sleuthEurekaDiscovery):sleuth-eureka-client(2101)
服务消费者(sleuthRibbon):sleuth-ribbon-consumer(3101)
多次调用http://localhost:3101/infoLog-2;
再访问zipkin中心:http://localhost:9411/zipkin/;点击Find Traces;
点击蓝色条可进入详情:
在客户端配置spring.application.sleuth.sampler.probability:默认为0.1;表示调用10次才会上传一次;
#指定抽样比例
spring.sleuth.sampler.probability=0.5
可以观察日志true表示上传成功:
2018-07-02 17:08:09.142 INFO [sleuth-ribbon-consumer,1bb9844c33135a5e,1bb9844c33135a5e,false] 7776 --- [nio-3101-exec-5] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:09.370 INFO [sleuth-ribbon-consumer,a668db0b14877584,a668db0b14877584,false] 7776 --- [nio-3101-exec-7] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:09.638 INFO [sleuth-ribbon-consumer,dd549e99c53cacaf,dd549e99c53cacaf,true] 7776 --- [nio-3101-exec-9] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:26.656 INFO [sleuth-ribbon-consumer,596669c8c06daae0,596669c8c06daae0,true] 7776 --- [nio-3101-exec-2] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:26.869 INFO [sleuth-ribbon-consumer,27e8fdf8cfdbb8d6,27e8fdf8cfdbb8d6,true] 7776 --- [nio-3101-exec-4] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:27.097 INFO [sleuth-ribbon-consumer,6b171dbc2cabde6e,6b171dbc2cabde6e,false] 7776 --- [nio-3101-exec-6] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:27.433 INFO [sleuth-ribbon-consumer,3dd4b2d43d3dbe3b,3dd4b2d43d3dbe3b,true] 7776 --- [nio-3101-exec-8] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:28.079 INFO [sleuth-ribbon-consumer,768078a9de38f453,768078a9de38f453,true] 7776 --- [io-3101-exec-10] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:28.436 INFO [sleuth-ribbon-consumer,ba9111b2d767a737,ba9111b2d767a737,true] 7776 --- [nio-3101-exec-2] c.t.s.s.controller.TestLogController : ------infoLog-2------
2018-07-02 17:08:28.934 INFO [sleuth-ribbon-consumer,fb2ef82867df9c71,fb2ef82867df9c71,false] 7776 --- [nio-3101-exec-4] c.t.s.s.controller.TestLogController : ------infoLog-2------
github地址:https://github.com/cc6688211/springCloud.git