SpringCloud Sleuth 分布式请求链路跟踪
一、原理
需要注意版本问题,有时候不成功是因为版本不兼容
二、sleuth和zipkin
1.下载sleuth和zipkin
sleuth: 下载地址https://search.maven.org/remote_content?g=io.zipkin&a=zipkin-server&v=LATEST&c=exec
zipkin: 下载地址
2.pom3.application.ymlorg.springframework.cloud spring-cloud-starter-sleuthorg.springframework.cloud spring-cloud-starter-zipkin
spring:
zipkin:
base-url: http://192.168.184.13:9411
sleuth:
sampler:
probability: 1
zuul:
enabled: false
4.启动zipkin
nohup java -jar zipkin.jar &
三、数据源
1、链路追踪集成消息中间件RabbitMQ
架构图
1.POM
org.springframework.amqp spring-rabbit
2.配置文件
spring:
sleuth:
sampler:
probability: 1
zuul:
enabled: false
zipkin:
sender:
type: rabbit
rabbitmq:
host: 192.168.184.15
port: 5672
username: admin
password: admin
listener:
direct:
retry:
enabled: true
simple:
retry:
enabled: true
3.zipkin启动命令
java -jar zipkin.jar --zipkin.collector.rabbitmq.addresses=192.168.184.15 --zipkin.collector.rabbitmq.username=admin --zipkin.coector.rabbitmq.password=admin4.运行效果
2、链路追踪持久化数据到ES 1.安装esmkdir /elk cd /elk tar -zxvf elasticsearch-7.3.2.tar.gz useradd es //为linux添加个es用户,es不支持root运行 chown -R es:es /elk/elasticsearch-7.3.2 cd elasticsearch-7.3.22.启动zipkin命令
java -jar zipkin.jar --STORAGE_TYPE=elasticsearch --ES_HOSTS=http://localhost:9200 --ES_HTTP_LOGGING=BASIC --zipkin.collector.raitmq.addresses=192.168.184.15 --zipkin.collector.rabbitmq.username=admin --zipkin.collector.rabbitmq.password=admin3、持久化数据到Mysql 1.创建数据库&执行sql语句
脚本地址https://github.com/openzipkin/zipkin/blob/master/zipkin-storage/mysql-v1/src/main/resources/mysql.sql
2. 命令行启动设置Mysql在启动zipkin时,命令行输入mysql的参数,官方提供命令模板如下:
java -jar zipkin-server-2.12.9-exec.jar --zipkin.collector.rabbitmq.addresses=localhost --zipkin.collector.rabbitmq.username=xxx --zipkin.collector.rabbitmq.password=xxx --STORAGE_TYPE=mysql --MYSQL_HOST=127.0.0.1 --MYSQL_TCP_PORT=3306 --MYSQL_DB=zipkin --MYSQL_USER=root --MYSQL_PASS=root



