链路追踪神器zipkin安装详细教程教程

今天分享下zipkin的详细安装教程,具体代码demo可以参考我上篇文章:Spring Cloud Sleuth与Zipkin深度整合指南:微服务链路追踪实战-CSDN博客

一、Zipkin是什么?

Zipkin是由Twitter开源的一款分布式追踪系统(现由OpenZipkin社区维护),用于收集和分析微服务架构中的时序数据。它通过跟踪请求在分布式系统中的流转路径,帮助开发者可视化服务间的调用关系、延迟等关键指标,是诊断复杂系统性能问题的利器。

二、为什么要使用Zipkin?

  1. 故障诊断:快速定位跨服务调用的性能瓶颈
  2. 依赖分析:可视化服务拓扑关系,识别不合理的依赖
  3. 性能优化:精确测量各环节耗时,针对性优化
  4. 分布式上下文:追踪请求完整生命周期(支持OpenTracing标准)
  5. 轻量级:对业务系统侵入性小

三、同类竞品对比

工具 特点 差异点
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+端口就可以直接进到控制台了,可以在控制台查看详细的调用链路了

相关推荐
wno7043 小时前
Spring Security权限控制
java·python·spring
杨运交4 小时前
[071][验证码模块]基于Spring拦截器的验证码认证设计思想
java·后端·spring
Geek-Chow4 小时前
CountDownLatch in Java
java
SL_staff5 小时前
从RBAC到场景化授权:《无忧·企业文档》三级权限模型的技术实践解析
java·开源·产品
传奇开心果编程5 小时前
【springboot基础语法学与练】第 1 课:从零开始
java·spring boot·后端·学习
SL_staff5 小时前
财务系统慎用低代码?从数据模型闭环看合规落地的技术实践
java·低代码·全栈
滕州市燕猫虎计算机科技工作室个体工商户6 小时前
IDEA:Command line is too long
java·ide·intellij-idea
步行cgn6 小时前
Spring p 命名空间注入详解
java·前端·spring
YatHinLay6 小时前
MyBatis 流式查询实战:ResultHandler 处理海量数据
java
天天被压力6 小时前
【跨市场数据实战 #08】可转债折价机会怎么筛:3个接口抓比价、列表和实时盘口
java·人工智能·python