简介
Zipkin是一套Twitter开发的开源的APM工具 (Application Performance Management) ,可以用于微服务的调用链监控。
类似的APM系统还有:PinPoint、Google Dapper、淘宝鹰眼等。
相比起PinPoint,Zipkin的优势是语言无关性,但是对代码有一定的入侵。
Zipkin包含4个组件:
- Collector 收集器
- Storage 存储,默认是InMemory
- API 查询接口
- UI WEB界面
运行示意图:
官网及GitHub
服务端安装及运行
Zipkin服务端提供了多种运行方式,都很简便。使用源码方式可以有更多的可定制性。
Docker方式
Docker方式:
1 | docker run -d -p 9411:9411 openzipkin/zipkin |
JAR包方式
1 | wget -O zipkin.jar 'https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec' |
源码方式
pom.xml:
1 | <dependencyManagement> |
application.yml:
1 | server.port: 9411 |
服务端WEB界面
服务端启动后,以在浏览器中看一下WEB界面是否正常:
http://localhost:9411
微服务端配置
pom.xml:
1 | <dependency> |
application.yml:
1 | spring: |
其中percentage是采样率,默认0.1
当微服务启动后,就可以在Zipkin的界面中进行调用链的监控了: