當前位置:
首頁 > 知識 > Spring Cloud服務追蹤與日誌聚合

Spring Cloud服務追蹤與日誌聚合

Spring Cloud服務追蹤與日誌聚合

Sleuth Zipkin

日誌的重要性不言而喻,幫助我們在異常發生的時候很好的定位到問題所在。

但是微服務這種問題就大了。

拿本次我們要舉的例子來說,我們有:網關微服務(Zuul)、服務間調用(Feign)、訂單服務(Order),調用的時候出問題了(返回錯誤信息、響應變慢),你說會是誰的問題?

這三個微服務可能是部門三個不同的開發組,或者是公司的三個部門在做。各有各的日誌,誰知道日誌記錄的異常是哪次調用的?

這不像單體應用,Controller-Service-Mapper,在IDE里一點就跳進去了,微服務各組之間也拿不到其他組的源代碼。

這就需要服務追蹤Sleuth組件。理論的東西不談,你平時網購時看的那個快遞物流跟蹤單,能理解這個就能理解Sleuth。

如果把Sleuth比喻成純純的物流信息,我們最起碼也需要一個展示的頁面吧,這就需要Zipkin了。


Zipkin服務端

進入http://start.spring.io 如下圖一樣構建:

Spring Cloud服務追蹤與日誌聚合

http://start.spring.io

一定得1.5.X版本,我一開始用最新的2.0.0.M3,估計是依賴包不兼容,沒法用。pom.xml增加如下依賴包:Spring Cloud服務追蹤與日誌聚合

pom.xml

application.yml:

Spring Cloud服務追蹤與日誌聚合

application.yml

代碼:

Spring Cloud服務追蹤與日誌聚合

代碼

代碼增加@EnableZipkinServer即可。

啟動Eureka註冊中心,Zipkin服務,訪問http://localhost:9411 如下圖:

Spring Cloud服務追蹤與日誌聚合

Zipkin監控頁面

沒有服務,所以頁面是空的。


各服務修改

使用我之前構建的Zuul、Feign、Order三個服務。

相關文章請參閱:

0、《Spring boot+MyBatis+PageHelper+JSON》

1、《極簡Spring Boot搭建、開發、部署》

2、《Spring Cloud註冊中心——Eureka&集群》

3、《Spring Cloud網關Zuul&過濾器&集群方案》

4、《Spring Cloud網關與負載均衡Zuul與Ribbon》

5、《Spring Cloud服務間調用Feign》

6、《Spring Cloud斷路器Hystrix》

7、《Spring Cloud分散式配置中心Config》

先在Zuul的application.yml增加對Feign Service的路由設置:

Spring Cloud服務追蹤與日誌聚合

給三個服務增加如下依賴:Spring Cloud服務追蹤與日誌聚合

pom.xml

每個服務都增加Zipkin服務的URL:Spring Cloud服務追蹤與日誌聚合

application.yml


結果

依次啟動Eureka、Zipkin、Order、Feign、Zuul,如下圖:

Spring Cloud服務追蹤與日誌聚合

通過Zuul訪問Feign,Feign調用Order,結果如下圖:Spring Cloud服務追蹤與日誌聚合

Zuul Feign Order

多刷新幾次,再進入Zipkin的監控頁面,在紅框A處選擇要查詢的Service,點擊紅框B,就能看到請求調用鏈的相關信息。紅框C可以自己點點看。Spring Cloud服務追蹤與日誌聚合

Zipkin監控頁面

下一篇講啥呢?

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 Java個人學習心得 的精彩文章:

Spring Cloud分散式配置中心Config
Spring Cloud斷路器Hystrix
Spring Cloud服務間調用Feign
Spring Cloud網關&負載均衡Zuul&Ribbon

TAG:Java個人學習心得 |

您可能感興趣

SpringCloud之服務提供與調用(Ribbon,Feign)
Crunch團隊分享SpringCloud微服務的使用經驗
使用Spring Cloud和Reactor在微服務中實現Event Sourcing
Spring Cloud服務發現與服務註冊Eureka + Eureka Server的搭建
Spring Cloud中的Eureka服務註冊與發現詳解
spring-cloud 服務網關中的 Timeout 設置
微服務網關終結者?Spring Cloud推出新成員Spring Cloud Gateway
Spring Cloud Alibaba Sentinel 整合 Feign 的設計實現
SpringBoot+Dubbo搭建微服務
Spring Cloud使用總結
定製Spring和Hibernate系統的審計Audit日誌
Spring整合Hibernate.Final
微服務監控之Spring Boot Admin
Spring4+hibernate+SpringMvc整合
深入 JVM 分析 spring-boot 應用 hibernate-validatorNoClassDefFoundError
SpringCloud統一配置中心Config Client
Spring Cloud Feign使用筆記
譯:Spring Cloud Config:Git 後端
Spring Boot 基礎教程 ( 三 ) :使用 Cloud Studio 在線編寫、管理 Spring Boot 應用
Spring Cloud Stream 使用延遲消息實現定時任務(RabbitMQ)