链路追踪神器zipkin安装详细教程教程
今天分享下zipkin的详细安装教程,具体代码demo可以参考我上篇文章:Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战-CSDN博客
一、Zipkin是什么?
Zipkin是由Twitter开源的一款分布式追踪系统(现由OpenZipkin社区维护),用于收集和分析微服务架构中的时序数据。它通过跟踪请求在分布式系统中的流转路径,帮助开发者可视化服务间的调用关系、延迟等关键指标,是诊断复杂系统性能问题的利器。
二、为什么要使用Zipkin?
- 故障诊断:快速定位跨服务调用的性能瓶颈
- 依赖分析:可视化服务拓扑关系,识别不合理的依赖
- 性能优化:精确测量各环节耗时,针对性优化
- 分布式上下文:追踪请求完整生命周期(支持OpenTracing标准)
- 轻量级:对业务系统侵入性小
三、同类竞品对比
工具 | 特点 | 差异点 |
---|---|---|
Jaeger | Uber开源,支持多语言 | 更强大的采样策略和UI分析功能 |
SkyWalking | 国产APM,指标监控更全面 | 集成Metrics/Logging/Tracing |
Pinpoint | 无侵入式探针 | 侧重全链路追踪,资源消耗较大 |
Sleuth+Prometheus | Spring生态组合 | 更适合纯Spring Cloud体系 |
四、Zipkin安装
zipkin支持docker和普通机器安装方式
Docker安装
前置要求:
- Docker环境
- 默认使用内存存储(生产环境建议配MySQL/Elasticsearch)
# 快速启动(内存模式)
docker run -d -p 9411:9411 --name zipkin openzipkin/zipkin# 使用MySQL存储
docker run -d -p 9411:9411 \-e STORAGE_TYPE=mysql \-e MYSQL_HOST=your_host \-e MYSQL_USER=zipkin \-e MYSQL_PASS=zipkin \openzipkin/zipkin# 访问UI
http://localhost:9411/zipkin/
普通方式安装
1、安装JDK
zipkin依赖于java命令启动,所以安装前需要先部署jdk环境,这里推荐部署jdk17,具体如何安装可以参考我之前文章:CentOS安装JDK17及多版本管理-CSDN博客
2、使用以下命令一键安装
先在根目录创建个zipkin目录,使用以下命令一键下载
curl -sSL https://zipkin.io/quickstart.sh | bash -s
命令执行完成后,在当前zipkin目录下会多出这三个文件
3、启动zipkin
如果是本地话直接使用java -jar zipkin.jar就可以启动了,不过该启动方式一中断终端连接就会自动停止,我们可以使用以下命令让它一直在后端运行:
nohup java -jar zipkin.jar &
如果是生产环境,建议使用supervisord作为守护进程管理工具,确保zipkin在后台稳定运行,执行完成后,查看下端口是否启动
也可以直接通过查看nohup.out日志查看启动情况
4、打开9411端口防火墙
zipkin默认端口是9411,如果你服务器该端口被占用了,可以使用以下命令启动使用指定端口
nohup java -jar zipkin.jar --zipkin.port=9412 &
进到你的云服务器控制台,打开9411端口,这样就可以页面直接访问了
五、Zipkin使用
客户端需要接入zip,具体如何接入参考我之前文章(Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战-CSDN博客)
打开服务器ip+端口就可以直接进到控制台了,可以在控制台查看详细的调用链路了