springcloud1.5.9+zipkin链路跟踪配置
在springcloud工程中添加鏈路跟蹤,提高運維能力
首先說下整體邏輯,springcloud中提供了sleuth作為鏈路跟蹤框架,能夠很好的和zipkin結合。服務中集成zipkin后,會生成相應的traceId和spanId, traceId和spanId根據請求鏈路傳到相應的微服務中,保持一個請求的整個traceId一致,這樣在服務日志分散在各處的微服務系統中查詢問題日志比較簡單。Zipkin會將trace消息通過http、mq、kafka等形式發送給zipkin服務器,zipkin服務器可以將消息存儲在服務器本地、es、mysql、Cassandra等存儲器中。通過zipkin服務的頁面可以查看到相應的請求鏈路、耗時等信息
樣圖:
?
?
- 配置客戶端
每個微服務都需要添加如下信息
<dependency>
?? <groupId>org.springframework.cloud</groupId>
?? <artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
zipkin-starter 中包含spring-cloud-starter-sleuth和spring-cloud-sleuth-zipkin,所以不用單獨添加sleuth
spring.sleuth.enabled=true 打開鏈路跟蹤功能
spring.sleuth.sampler.percentage-1.0 采樣率為100%
spring.kafka.bootstrap-servers=… kafka集群的zookeeper地址
?
- 配置服務端
Zipkin官網:https://zipkin.io/
下載zipkin.jar
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
通過java –jar 啟動。
java -DCOLLECTOR_KAFKA_ENABLED=true -DKAFKA_BOOTSTRAP_SERVERS=172.22.3.11:9091,172.22.3.11:9092,172.22.3.11:9093 -DSTORAGE_TYPE=elasticsearch -DES_HOSTS=http://172.19.135.222:9200/ -DES_INDEX=zipkin -jar zipkin.jar
COLLECTOR_KAFKA_ENABLED是否啟用kafka接收消息
KAFKA_BOOTSTRAP_SERVERS kafka集群的zookeeper地址
STORAGE_TYPE 存儲數據源倉庫類型
ES_HOSTS? es地址
啟動的時候可以帶入相應參數,其中參數定義可以參考jar包里的配置文件
此文省略kafka、es的搭建
總結
以上是生活随笔為你收集整理的springcloud1.5.9+zipkin链路跟踪配置的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: maven+springMVC+Ecli
- 下一篇: 特殊空格的坑,原来空格可以有好多种