当前位置: 首页 > article >正文

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

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

一、Zipkin是什么?

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

二、为什么要使用Zipkin?

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

三、同类竞品对比

工具特点差异点
JaegerUber开源,支持多语言更强大的采样策略和UI分析功能
SkyWalking国产APM,指标监控更全面集成Metrics/Logging/Tracing
Pinpoint无侵入式探针侧重全链路追踪,资源消耗较大
Sleuth+PrometheusSpring生态组合更适合纯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+端口就可以直接进到控制台了,可以在控制台查看详细的调用链路了

http://www.lryc.cn/news/2392602.html

相关文章:

  • RabbitMQ备份与恢复技术详解:策略、工具与最佳实践
  • bug: uniCloud 查询数组字段失败
  • Php JIT 使用详解
  • 视觉分析开发范例:Puppeteer截图+计算机视觉动态定位
  • Linux 基础开发工具的使用
  • ElasticSearch查询指定时间内出现的次数/2秒内出现的次数
  • 华为云Flexus+DeepSeek征文 | Dify-LLM平台一键部署教程及问题解决指南
  • STP协议:如何消除网络环路风暴
  • 哈工大计算机系统2025大作业——Hello的程序人生
  • 物联网常用协议Modbus、CAN、BACnet介绍
  • Vue中van-stepper与input值不同步问题及解决方案
  • react基础技术栈
  • Three.js搭建小米SU7三维汽车实战(4)场景搭建
  • redis五种数据结构底层实现
  • Excel 统计某个字符串在指定区域出现的次数
  • 【Kubernetes】ubuntu20.04通过kubeadm + Docker安装k8s
  • 前端开源JavaScrip库
  • 【Linux我做主】进度条小程序深度解析
  • MySQL 使用全局锁会导致的问题?
  • 从Homebrew找到openssl.cnf文件并拷贝到Go项目下使用
  • 在Java对象转JSON字符串时不显示无值参数
  • 在 Ubuntu 服务器上 下载 Clash 文件使用代理
  • 微信小程序一次性订阅封装
  • Spring AI MCP的几个小问题
  • 安全帽检测算法AI智能分析网关V4守护工地/矿山/工厂等多场景作业安全
  • Pycharm的简单介绍
  • 重新安装解决mac vscode点击不能跳转问题
  • Go语言中flag包的用法详解
  • Python自动化之selenium语句——打开、关闭浏览器和网页
  • 【数据结构】--二叉树--堆(上)