Springcloud(Finchley.SR1 ) sleuth+kafka+elasticsearch+zipkin
集成方案
Springcloud sleuth+kafka+elasticsearch+zipkin
环境说明
Springcloud Finchley.SR1
JDK 1.8
kafka_2.12-2.0.1
elasticsearch-6.4.3
zipkin-server-2.11.8-exec
zookeeper-3.4.6
过程
- 安装Zookeeper
Kafka的运行依赖于Zookeeper,所以在运行Kafka之前我们需要安装并运行Zookeeper
1.1 下载安装文件: http://mirror.bit.edu.cn/apache/zookeeper/
1.2 解压文件(本文解压到 D:\zookeeper-3.4.8)
1.3 打开D:\zookeeper-3.4.8\conf,把zoo_sample.cfg重命名成zoo.cfg
1.4 从文本编辑器里打开zoo.cfg
1.5 修改dataDir和dataLogDir保存路径
dataDir=D:\data\logs\zookeeper
dataLogDir=D:\data\logs\zookeeper
1.6 添加如下系统变量:ZOOKEEPER_HOME: D:\zookeeper-3.4.8
Path: 在现有的值后面添加 ;%ZOOKEEPER_HOME%\bin;
1.7 运行Zookeeper: 打开cmd然后执行zkserver 命令。如果打印以下信息则表示zookeeper已经安装成功并运行在2181端口。
- 安装并运行Kafka
2.1 下载安装文件: http://kafka.apache.org/downloads.html
2.2 解压文件(本文解压到 D:\kafka_2.11-0.10.2.0)
2.3 打开D:\kafka_2.11-0.10.2.0\config\ server.properties
2.4 把 log.dirs的值改成 log.dirs=D:\data\logs\kafka
2.5 D:\kafka_2.11-0.10.2.0\bin文件夹下的.sh命令脚本是在shell下运行的,此文件夹下还有个 windows文件夹,里面是windows下运行的.bat命令脚本
2.6 在D:\kafka_2.11-0.10.2.0文件夹中”Shift+鼠标右键”点击空白处打开命令提示窗口
2.7 输入并执行一下命令以打开kafka:
.\bin\windows\kafka-server-start.bat .\config\server.properties
1
显示的信息如下,则表示正常运行
- 安装elasticsearch
- 下载安装包https://www.elastic.co/downloads/elasticsearch
- 解压缩文件运行 elasticsearch.bat
- http://localhost:9200 ,显式以下画面,说明ES安装成功。
- 安装zipkin
从springboot2开始推荐使用zipkin官方网站提供的jar包启动zipkin。
在zipkin-server-2.11.8-exec目录下执行
java -DKAFKA_BOOTSTRAP_SERVERS=localhost:9092 -DSTORAGE_TYPE=elasticsearch
-DES_HOSTS=http://127.0.0.1:9200 -jar zipkin-server-2.11.8-exec.jar
-
- 参数说明:
- KAFKA_BOOTSTRAP_SERVERS:kafka的ip和端口
- STORAGE_TYPE 存储数据方式可以为 mem, mysql, cassandra, elasticsearch
- ES_HOSTS es的url
- 官方文档 githup https://github.com/openzipkin/zipkin/tree/master/zipkin-server
- 启动后访问url :
- http://***:9411/zipkin
- 整合sleuth
5.1在需要整合跟踪的项目pom中加入
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.kafka</groupId>
<artifactId>spring-kafka</artifactId>
<version>2.1.8.RELEASE</version>
</dependency>
5.2 在application.yml中加入
spring:
zipkin:
sender:
type: kafka # 支持三种 方式 RABBIT, KAFKA, WEB
service:
name: org-web #可以和 application.name 同名 但是必须设置
kafka:
bootstrap-servers: 127.0.0.1:9092
sleuth:
sampler:
probability: 1 # 抽取概率范围:0-1
5.3
应用名中出现整合的应用说明整合成功,可进行后续测试
在查询结果中可以看到本次访问的路径和每个节点的执行时间。