在springCloud項目的方式構建服務
spring-cloud-sleuth只要在追蹤的服務上配置就可以
spring.zipkin.base-url=http://localhost:8240 spring.sleuth.sampler.percentage=1.0(配置這個就可以)1.0表示100%追蹤//0.7表示70%追蹤
1、zipkin-server服務
添加如下依賴(不用保存到數據庫則不需要添加數據庫依賴)
dependencies>
<!--使用@EnableZipkinServer註解方式只需要依賴如下兩個包-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<scope>runtime</scope>
</dependency>
<!--保存到數據庫需要如下依賴-->
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-storage-mysql</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jdbc</artifactId>
</dependency>
啓動類
@SpringBootApplication
@EnableZipkinServer //啓動ZipkinServer段
public class ZipkinServer {
public static void main(String[] args) {
SpringApplication.run(ZipkinServer.class, args);
}
}
application.properties配置文件:
server.port=8240
spring.application.name=zipkin-server
#zipkin數據保存到數據庫中需要進行如下配置
#表示當前程序不使用sleuth
spring.sleuth.enabled=false
#表示zipkin數據存儲方式是mysql
zipkin.storage.type=mysql
#數據庫腳本創建地址,當有多個是可使用[x]表示集合第幾個元素
spring.datasource.schema[0]=classpath:/zipkin.sql
#spring boot數據源配置
spring.datasource.url=jdbc:mysql://localhost:3306/zipkin?autoReconnect=true&useUnicode=true&characterEncoding=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=123456
spring.datasource.driver-class-name=com.mysql.jdbc.Driver
spring.datasource.initialize=true
spring.datasource.continue-on-error=true
啓動zipkin-server啓動後 無異常輸出,這樣我們的zipkin-server程序就OK了
2.在需要追蹤的服務上添加依賴和配置
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
#配置zipKin Server的地址
spring.zipkin.base-url=http://localhost:8240
這樣就OK了
啓動服務的時候(先啓動註冊中心即可)
最後訪問http://localhost:8240
在調用服務即可看到頁面上參數的變化
點擊Find Traces按鈕,我們可以看到調用的鏈路和耗時情況,點擊Dependencies,我們可以看到provider和consumer的調用圖
(技術有限僅供參考)