spring-cloud-sleuth+zipkin追蹤服務實現

在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的調用圖

(技術有限僅供參考)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章