每天學點SpringCloud(十四):Zipkin使用SpringCloud Stream以及El

在前面的文章中,我們已經成功的使用Zipkin收集了項目的調用鏈日誌。但是呢,由於我們收集鏈路信息時採用的是http請求方式收集的,而且鏈路信息沒有進行保存,ZipkinServer一旦重啓後就會所有信息都會消失了。基於性能的考慮,我們可以對它進行改造,使用SpringCloud Stream進行消息傳遞,使用Elasticsearch進行消息的存儲。

參考文章


Zipkin全鏈路監控 

SpringCloud-Stream整合RabbitMQ

改造ZipkinServer

1. 增加依賴
1
2
3
4
5
6
7
8
9
10
<dependency>
           <groupId>io.zipkin.java</groupId>
           <artifactId>zipkin-autoconfigure-collector-rabbitmq</artifactId>
           <version>2.11.8</version>
       </dependency>
       <dependency>
           <groupId>io.zipkin.java</groupId>
           <artifactId>zipkin-autoconfigure-storage-elasticsearch-http</artifactId>
           <version>2.8.4</version>
       </dependency>
2. 配置文件

增加rabbit和es的相關配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
zipkin:
 collector:
   rabbitmq:
     addresses: 10.0.20.132
     port: 5672
     username: root
     password: root
     virtual-host: /unicode-pay
     queue: zipkin
 storage:
   StorageComponent: elasticsearch
   type: elasticsearch
   elasticsearch:
     hosts: 10.0.20.25:9200
     cluster: elasticsearch
     index: zipkin
     index-shards: 5
     index-replicas: 1

至此ZipkinServer的配置就搞定了。

3. 客戶端增加依賴

以下兩個依賴任選其一就可以

1
2
3
4
<dependency>
<groupId>org.springframework.amqp</groupId>
<artifactId>spring-rabbit</artifactId>
</dependency>
1
2
3
4
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>
4. 客戶端增加mq的相關配置
1
2
3
4
5
6
7
8
9
10
11
12
spring:
 sleuth:
   sampler:
     probability: 1.0
 rabbitmq:
   addresses: 10.0.20.132
   port: 5672
   username: root
   password: root
 zipkin:
   rabbitmq:
     queue: zipkin

注意要把以下配置去掉哦

1
2
3
4
5
spring:
 zipkin:
   base-url: http://localhost:19411
   sender:
     type: web

現在環境已經搭建完畢了,根據你的採樣頻率看一看結果如何吧

GitHub地址:https://github.com/shiyujun/spring-cloud-demo。代碼所在模塊:cloud-demo-zipkin-server,cloud-demo-consumer-feign-hystrix,cloud-demo-provider

如果對您有所幫助,請記得幫忙點一個star哦

本文出自http://zhixiang.org.cn,轉載請保留。


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章