Skip to content

Sleuth和zipkin的使用 ​

一、依赖 ​

单独Sleuth依赖

xml
<!--        链路追踪sleuth依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>

zipkin依赖,包含的sleuth依赖

xml
<!--        链路追踪zipkin依赖  里面包含sleuth依赖-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>

二、配置 ​

yaml
#服务的名称
spring:
  #连接zipkin
  zipkin:
    base-url: http://192.168.43.190:9411
  #配置采样百分比,开发环境可以设置为1,表示全部,生产就用默认
  sleuth:
    sampler:
      probability: 1

三、Zipkin+Sleuth使用 ​

参考文档:https://docs.spring.io/spring-cloud-sleuth/docs/3.1.11/reference/html/#_sleuth_with_zipkin_via_http

Finchley.SR1 的原始文档路径已下线。Spring Cloud Sleuth 已停止维护,上述链接是官方保留的 3.1.11 最终参考版;新项目应评估迁移到 Micrometer Tracing。

过程:sleuth收集跟踪信息通过http请求发送给zipkin server,zipkinserver进行跟踪信息的存储以及提供Rest API即可,Zipkin UI调用其API接口进行数据展示, 默认存储是内存,可也用mysql、或者elasticsearch等存储

四、持久化 ​

参考官网文档

拷贝官方mysql的初始化脚本数据库。

然后通过一下方式配置指定的脚本和数据库启动zipkin

bash
java -jar zipkin-server-2.12.9-exec.jar --STORAGE_TYPE=mysql --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin_log --MYSQL_USER=root --MYSQL_PASS=xdclass.net

如果要持久化到es,参考官网的配置