簡(jiǎn)介
Zipkin是一套Twitter開發(fā)的開源的APM工具 (Application Performance Management) 祈坠,可以用于微服務(wù)的調(diào)用鏈監(jiān)控。
類似的APM系統(tǒng)還有:PinPoint、Google Dapper尖阔、淘寶鷹眼等浸锨。
相比起PinPoint,Zipkin的優(yōu)勢(shì)是語言無關(guān)性璧亚,但是對(duì)代碼有一定的入侵讨韭。
Zipkin包含4個(gè)組件:
- Collector 收集器
- Storage 存儲(chǔ),默認(rèn)是InMemory
- API 查詢接口
- UI WEB界面
運(yùn)行示意圖:
官網(wǎng)及GitHub
服務(wù)端安裝及運(yùn)行
Zipkin服務(wù)端提供了多種運(yùn)行方式癣蟋,都很簡(jiǎn)便拐袜。使用源碼方式可以有更多的可定制性。
Docker方式
Docker方式:
docker run -d -p 9411:9411 openzipkin/zipkin
JAR包方式
wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec'
java -jar zipkin.jar
源碼方式
pom.xml:
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Dalston.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
<dependencies>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-autoconfigure-ui</artifactId>
</dependency>
<dependency>
<groupId>io.zipkin.java</groupId>
<artifactId>zipkin-server</artifactId>
</dependency>
</dependencies>
application.yml:
server.port: 9411
spring.application.name: zen-zipkin
服務(wù)端WEB界面
服務(wù)端啟動(dòng)后梢薪,以在瀏覽器中看一下WEB界面是否正常:
http://localhost:9411
微服務(wù)端配置
pom.xml:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-sleuth-zipkin</artifactId>
</dependency>
application.yml:
spring:
zipkin:
base-url: http://localhost:9411
sleuth:
sampler:
percentage: 1.0
其中percentage是采樣率蹬铺,默認(rèn)0.1
當(dāng)微服務(wù)啟動(dòng)后,就可以在Zipkin的界面中進(jìn)行調(diào)用鏈的監(jiān)控了: