zipkin是一種分佈式調用追蹤系統,通過該工具,我們可以清晰快速的定位問題,zipkin監控基礎搭建過程可以參考筆者的另一篇博文https://blog.csdn.net/john1337/article/details/104178559,這篇文章主要集中mysql8.0的監控,之所以寫這篇文章,一部分原因是現在搜索到的很多文章都是基於mysql-connector-java 8.x以前的老版本,現在開發使用的mysql java驅動版本一般都是mysql-connector-java 8.x了,其實實現對mysql的追蹤很簡單,只需兩步即可:
1、引入依賴
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-sleuth</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zipkin</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.brave</groupId>
<artifactId>brave-instrumentation-mysql8</artifactId>
<version>5.9.3</version>
</dependency>
2、在mysql url配置上加入以下參數
queryInterceptors=brave.mysql8.TracingQueryInterceptor&zipkinServiceName=database
其中zipkinServiceName名字可以任意定義,做到見名知意即可,即知道用的哪個數據庫,尤其是多數據源的情況下
效果圖:
參考文章:https://github.com/openzipkin/brave/tree/master/instrumentation/mysql8