一,建立 Zipkin服务
它将存储我们服务的所有操作步骤,每一步操作都会发送到该服务器用来进行跟踪识别。
1,引入jar包,pom.xml文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.6.RELEASE</version>
</parent>
<groupId>com.hcmony</groupId>
<artifactId>sleuth</artifactId>
<packaging>pom</packaging>
<properties>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.48</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
<version>1.28.0</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.3.6.RELEASE</version>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
2,配置文件:
server.port=8200
spring.application.name=sleuth
eureka.instance.prefer-ip-address=true
eureka.client.service-url.defaultZone= http://localhost:8888/eureka/
eureka.instance.instance-id=${spring.cloud.client.ip-address}:${server.port}
spring.sleuth.enabled=false
3,启动类加上三个注解:
package com.hcmony;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import zipkin.server.EnableZipkinServer;
/**
* 也可直接去下载使用,不用创建服务项目
* 下载地址:https://dl.bintray.com/openzipkin/maven/io/zipkin/java/zipkin-server/
* 也可访问链接: https://pan.baidu.com/s/1eRSy1eHv3XahlAHHbA1kyA 提取码: pkv6 复制这段内容后打开百度网盘手机App,操作更方便哦
*/
@SpringBootApplication
@EnableEurekaClient
@EnableZipkinServer
public class SleuthApplication {
public static void main(String[] args) {
SpringApplication.run(SleuthApplication.class, args);
}
}
4,启动服务,结果如下图
二,在其他SPRINGCLOUD服务中进行服务跟踪
1,引入jar包,springcloud 自动注入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
2,在要跟踪的项目的配置文件加入以下配置
spring.zipkin.base-url=http://localhost:8200
3,启动项目如下图所示
三,至此 一个初步的服务链路跟踪完成。