每天學點SpringCloud(十四):Zipkin使用SpringCloud Stream以及Elasticsearch
阿新 • • 發佈:2018-12-12
在前面的文章中,我們已經成功的使用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,轉載請保留。