【Spring Cloud】Spring Cloud之Zipkin server搭建以及HTTP收集,分布式服務跟蹤(2)


一、搭建步驟

1)新建Spring Boot項目,引入pom坐標

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.3.RELEASE</version>
        <relativePath/> <!-- lookup parent from repository -->
    </parent>

    <dependencies>
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-server</artifactId>
            <version>2.10.3</version>
        </dependency>
        <dependency>
            <groupId>io.zipkin.java</groupId>
            <artifactId>zipkin-autoconfigure-ui</artifactId>
            <version>2.10.3</version>
        </dependency>
    </dependencies>

2)增加相關配置

spring.application.name: base-zipkin-server
server.port: 9411

#zipkin啟動報錯無法訪問的解決方法
management.metrics.web.server.auto-time-requests: false

3)啟動類增加注解

@EnableZipkinServer
@SpringBootApplication
public class BaseZipkinServerApplication {

    public static void main(String[] args) {
        SpringApplication.run(BaseZipkinServerApplication.class, args);
    }

}

4)訪問http://lo-calhost:9411/,可以看到、Zipkin管理頁面

 

二、應用服務如何以http的方式,將sleuth生成的traceId等追蹤數據發送到Zipkin中

默認是以http的方式進行發送的,相關配置如下

1)增加pom坐標

          <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-sleuth-zipkin</artifactId>
                <version>2.0.3.RELEASE</version>
            </dependency>

注意這里的版本是2.0.3.RELEASE,那么需要Zipkin server的版本依賴的parent版本盡量也要2.0.3.RELEASE。因為傳遞追蹤數據的接口存在升級的情況,比如

在Zipkin Server版本在 1.5左右時,接口地址為/api/v1/spans,版本在2.0時,接口地址為/api/v2/spans。這里只是大致的版本哈。
另外需要注意的是,maven坐標中不能有spring-boot-starter-amqp的坐標,不然不會以HTTP的方式收集,而是以消息隊列的方式收集,坐標如下:

        <!--amqp-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>

 

2)增加配置,指定Zipkin服務的地址,

spring:
  zipkin:
    base-url: http://localhost:9411

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM