Spring Cloud sleuth + zipkin 整合

zipkin 服务器配置

官网地址

  • https://zipkin.io/
  • https://github.com/openzipkin/zipkin

Spring Boot 2.x 以后官网不推荐使用源码方式编译,推荐使用官网编译好的jar执行

一、zipkin服务下载部署

官网有两种方式下载方式,此处案例中使用第一种方式,直接下载官网jar包
Spring Cloud sleuth + zipkin 整合_第1张图片

1.1 采用jar包直接执行

下载最新版本的zipkin,默认采用内存存储数据。

# 创建目录zipkin
mkdir xxx/xxxx/zipkin

# 进入zipkin目录
cd  xxx/xxxx/zipkin

# 下载zipkin的jar包
curl -sSL https://zipkin.io/quickstart.sh | bash -s

# 执行方式1:采用命令行执行,默认使用内存内存数据
java -jar zipkin.jar

# 执行方式2:采用脚本执行,使用mysql存储
执行start-zipkin.sh脚本,并修改zipkin-config.properties数据库属性

Spring Cloud sleuth + zipkin 整合_第2张图片

1.2 zipkin数据库脚本下载

建立自己的数据库,并使用zipkin官网mysql数据库脚本。
https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql

1.3 zipkin执行脚本和配置文件

1.3.1 start-zipkin.sh脚本

# 进入zipkin目录
cd  xxx/xxxx/zipkin

# 创建start-zipkin.sh脚本
vim  start-zipkin.sh

# 写入以下命令
#!/bin/bash
nohup java  -jar ./zipkin.jar --spring.config.additional-location=./zipkin-config.properties  > ./nohup.out 2>&1 &

在这里插入图片描述

1.3.2 zipkin-config.properties配置文件

# 进入zipkin目录
cd  xxx/xxxx/zipkin

# 创建zipkin-config.properties文件
vim zipkin-config.properties

# 写入以下命令
# 数据库类型
STORAGE_TYPE=mysql
# 数据库ip地址
MYSQL_HOST=localhost
# 数据库端口
MYSQL_TCP_PORT=3306
# 数据库库名
MYSQL_DB=zipkin
# 数据库用户名
MYSQL_USER=root
# 数据库密码
MYSQL_PASS=123456

Spring Cloud sleuth + zipkin 整合_第3张图片

1.4 访问地址

http://localhost:9411/zipkin/
Spring Cloud sleuth + zipkin 整合_第4张图片

二、项目中使用

2.1 pom引入依赖

微服项目的pom中引入spring-cloud-starter-zipkin依赖

        
        
            org.springframework.cloud
            spring-cloud-starter-zipkin
            2.2.0.RELEASE
        

使用spring-cloud-starter-zipkin,不需要单独引入sleuth和zipkin的依赖
Spring Cloud sleuth + zipkin 整合_第5张图片

2.2 yml添加配置

微服项目添加以下配置

spring:
  sleuth:
    web:
      client:
        # 开启采集链路
        enabled: true
    sampler:
      # 默认采集是 0.1(百分之十),生产环境采用默认,测试环境可以修改为1.0
      probability: 1.0

    # zipkin服务所在地址
    zipkin:
      base-url: http://localhost:9411/  

你可能感兴趣的:(SpringCloud,SpringCloud,sleuth,zipkin)