微服务: sleuth和zipkin的用处与zipkin安装使用(下)

目录

0. 上篇传送门:

1. 前言简介

mq安装传送门: 微服务: 01-rabbitmq的应用场景及安装(docker) 

1.1 Sleuth是一款分布式跟踪解决方案。

1.2 Zipkin是一个开源的分布式跟踪系统。

2. zipkin安装方式

2.1 windows下安装zipkin: 

2.1.0 下载jar包位置 

2.1.1 下载后,找到文件路径 启动

2.1.2 设置启动参数

->01 使用默认 / 的

 ->02 使用自定义的 virtual-host

 2.1.3 参数解释

->对应 2.1.2->01 参数解释

ps:  指定了上面参数 下面的参数就无法使用 virtual-host指定也不会生效

->对应 2.1.2->02 参数解释

 2.1.4 浏览器查看启动效果

2.2 docker安装zipkin: 

2.2.1 拉取zipkin镜像

2.2.2 制作最简易镜像试试效果

2.2.3 删除并创建新的镜像接入rabbitmq

2.2.4 删除并创建带mq+mysql的镜像

2.2.5 删除并创建带mq+es的镜像

3. 链路测试, 看最终效果

3.1 查看痕迹

3.2 查看线路图(依赖图示)


0. 上篇传送门:

springcloud配置并使用sleuth和mq

1. 前言简介

sleuth和zipkin是两个分布式跟踪工具,在分布式系统中起到了跟踪、监控和调试的作用。 

本文使用sleuth 发出消息给mq 然后zipkin接收并分析数据 

一般都会抽样检查 10%进入zipkin进行分析

spring:sleuth:sampler:probability: 0.1

mq安装传送门: 微服务: 01-rabbitmq的应用场景及安装(docker) 

1.1 Sleuth是一款分布式跟踪解决方案。

它可以在分布式系统中进行跟踪信息的收集,生成一条分布式请求链路信息,用来追踪请求的调用过程和执行时间等信息。Sleuth可以帮助开发者快速定位请求调用过程中出现的问题,提高系统的可调试性和可维护性。

1.2 Zipkin是一个开源的分布式跟踪系统。

它提供了一个友好的Web界面,可以用来展示分布式请求链路的信息,并提供查询和过滤功能。Zipkin支持多种后端存储,如MySQL、Cassandra、Elasticsearch等。通过Zipkin,开发者可以快速定位系统中出现的性能问题和异常情况。

2. zipkin安装方式

2.1 windows下安装zipkin: 

2.1.0 下载jar包位置 

  • GitHub - openzipkin/zipkin:

2.1.1 下载后,找到文件路径 启动

 2.1.2 设置启动参数

[没有配置持久化操作] 

->01 使用默认 / 的

java -jar zipkin-server-2.24.2-exec.jar --zipkin.collector.rabbitmq.uri=amqp://pzy:pzy@ip:5672

 ->02 使用自定义的 virtual-host

java -jar zipkin-server-2.24.2-exec.jar --zipkin.collector.rabbitmq.addresses=ip:5672  --zipkin.collector.rabbitmq.username=pzy --zipkin.collector.rabbitmq.password=pzy --zipkin.collector.rabbitmq.virtual-host=pingzhuyan 

 2.1.3 参数解释

->对应 2.1.2->01 参数解释

tmq.concurrencyRABBIT_CONCURRENCY并发消费者数量,默认为 1
zipkin.collector.rabbitmq.connection-timeoutRABBIT_CONNECTION_TIMEOUT建立连接时的超时时间,默认为 60000 毫秒,即 1 分钟
zipkin.collector.rabbitmq.queueRABBIT_QUEUE从中获取 span 信息的队列,默认为 zipkin
zipkin.collector.rabbitmq.uriRABBIT_URI符合 RabbitMQ URI 规范 的 URI,例如 amqp://user:pass@host:10000/vhost

ps:  指定了上面参数 下面的参数就无法使用 virtual-host指定也不会生效

->对应 2.1.2->02 参数解释

zipkin.collector.rabbitmq.addressesRABBIT_ADDRESSES用逗号分隔的 RabbitMQ 地址列表,例如 localhost:5672,localhost:5673
zipkin.collector.rabbitmq.passwordRABBIT_PASSWORD连接到 RabbitMQ 时使用的密码,默认为 guest
zipkin.collector.rabbitmq.usernameRABBIT_USER连接到 RabbitMQ 时使用的用户名,默认为 guest
zipkin.collector.rabbitmq.virtual-hostRABBIT_VIRTUAL_HOST使用的 RabbitMQ virtual host,默认为 /
zipkin.collector.rabbitmq.use-sslRABBIT_USE_SSL设置为 true 则用 SSL 的方式与 RabbitMQ 建立链接

 2.1.4 浏览器查看启动效果

搜索: http://localhost:9411

2.2 docker安装zipkin: 

[很抱歉,持久化 mysql8版本2.12可以使用 但是2.24版本没有找到好的解决方法]

如果是 mysql5版本的 可以使用mysql持久化

搜索的关键词: docker 拉取zipkin 连接 mysql8  报错  不支持

官方地址: https://hub.docker.com/r/openzipkin/zipkin/tags

2.2.1 拉取zipkin镜像

docker pull openzipkin/zipkin:2.24

2.2.2 制作最简易镜像试试效果

docker run --name zipkin \
-p 9411:9411 \
--restart=always \
-d openzipkin/zipkin:2.24

2.2.3 删除并创建新的镜像接入rabbitmq

docker run --name zipkin \
-p 9411:9411 \
--restart=always \
-e TZ='Asia/Shanghai' \
-e LANG="en_US.UTF-8" \
-e COLLECTOR_RABBITMQ_ENABLED=true \
-e RABBIT_ADDRESSES=ip:5672  \
-e RABBIT_USER=pzy  \
-e RABBIT_PASSWORD=pzy \
-e RABBIT_VIRTUAL_HOST=pingzhuyan  \
-d openzipkin/zipkin:2.24

2.2.4 删除并创建带mq+mysql的镜像

[高版本用了就会报错, 暂无解决办法] 用es或降版本,直接改mysql都不算

docker run --name zipkin \
-p 9411:9411 \
--restart=always \
-e TZ='Asia/Shanghai' \
-e LANG="en_US.UTF-8" \
-e COLLECTOR_RABBITMQ_ENABLED=true \
-e RABBIT_ADDRESSES=ip:5672  \
-e RABBIT_USER=pzy  \
-e RABBIT_PASSWORD=pzy\
-e RABBIT_VIRTUAL_HOST=pingzhuyan  \
-e STORAGE_TYPE=mysql \
-e MYSQL_JDBC_URL=jdbc:mysql://*:3306/zipkin_config \
-e MYSQL_USER=root \
-e MYSQL_PASS=* \
-d openzipkin/zipkin:2.24

2.2.5 删除并创建带mq+es的镜像

先引用一下别人文章, 一篇篇写 慢慢加入传送门

引用一下别人文章【zipkin】持久化到es_zipkin配置es

3. 链路测试, 看最终效果

3.1 查看痕迹

3.2 查看线路图(依赖图示)


总结 mysql8 与zipkin 使用有问题, 看看有没有其他解决方案

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/3248.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

生成 ocr key 字符集 alphabet 6698个字符

生成 ocr key 字符集 alphabet import pickle as pkl#----------- 生成 ocr key 字符集 alphabet alphabet_set set() # 数据集label infofiles_label [/home/jlb/下载/rec_data_lesson_demo/train.txt, /home/jlb/下载/rec_data_lesson_demo/val.txt]# ppocr中文key infofil…

OA办公系统如何通过审批流程提高效率

企业的发展与管理离不开信息化,很多企业的信息化都会选择从OA信息化开始。一个成熟先进的OA办公系统流程审批也是核心功能关注的功能之一,今天小编举例有18年平台经验的天翎低代码平台OA系统,给大家分享一下如果提升流程审批效率:…

IP路由选择过程

1.1路由选择基础 路由选择是指将分组从一个设备通过互联网络发往位于不同网络上的另一个设备的操作。路由器不关注网络中的主机,而只关注互联起来的网络以及通往各个网络的最佳路径。 目标主机的逻辑网络地址用来获取通过可路由网络传送到指定网络中的分组&#xf…

基于Java的万年历(课设)

基于Java的万年历 资源链接:基于Java的万年历(课设) 文章目录 基于Java的万年历1 绪论2 需求分析3 概要设计3.1 类间组合框架3.2 布局结构示意3.3 对各个类的概述 4运行环境5 开发工具和编辑语言6 详细设计6.1 NiceCaelendar类6.2 NiceFram…

软考高级系统架构设计师(九) 作文模板-企业应用集成

目录 作文模板 例子-企业应用集成 摘要 项目相关背景及主要功能 你的岗位及主要职责 论文主体内容的总概 项目最终的实施效果或你的总结和感悟等 正文 项目背景介绍 相关问题回应 主体内容 论文结论 例子-类似方向- 作文模板 例子-企业应用集成 2021系统架构设计…

使用英特尔 oneAPI AI 工具分析包实现AI应用程序的调试与改进

目录 1.什么是英特尔 oneAPI AI? 关于英特尔 oneAPI AI 工具分析包 2.使用英特尔 oneAPI AI 工具分析包实现AI数据分析 准备工作 数据准备 编写AI应用程序 性能分析 并行性优化 内存和线程错误分析 优化AI算法 性能验证与调试 性能优化迭代 3.总结 1.什…

【④MySQL函数】:让你的数据库操作更高效(一)

前言 ✨欢迎来到小K的MySQL专栏,本节将为大家带来MySQL字符串函数和数学函数的讲解✨ 目录 前言一、字符串函数二、数学函数三、总结 一、字符串函数 函数作用UPPER(列|字符串)将字符串每个字符转为大写LOWER(列|字符串)将字符串每个字符转为小写CONCAT(str1,str2,…

【问题记录】如何使用 pip 在 linux 上安装 pytorch

一、进入 pytorch 官网 pytorch 官网:https://pytorch.org/ 二、在页面选择环境 三、复制官网弹出的命令并运行即可 pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

JavaScript 内置对象 数据类型

目录 JavaScript 内置对象 1.内置对象 2.查文档 2.1MDN 2.2 如何学习对象中的方法 3.Math对象 3.1Math 概述 3.2随机数方法 random() 4. 日期对象 4.1Date 概述 4.2Date() 方法的使用 4.3 日期格式化 4.4获取毫秒的总的毫秒形式 5.数组对象 5.1数组对象的创建 5…

互联网编程之基于 TCP 的单线程文件收发程序(CS架构)

目录 需求 服务端实现 客户端实现 测试 需求 可试着根据java编程课所学到的java socket编程技术,尝试编写一个基于 TCP 的单线程文件收发程序,需满足: 服务端程序预先定义好需要发送的文件并等待客户端的连接。 客户端连接成功后&…

CSS之平面转换

简介 作用:为元素添加动态效果,一般与过渡配合使用 概念:改变盒子在平面内的形态(位移、旋转、缩放、倾斜) 平面转换也叫 2D 转换,属性是 transform 平移 transform: translate(X轴移动距离, Y轴移动距…

项目中遇到的问题总结(四)

GateWay和Nginx的相同点和不同点在哪里? Gateway 和 Nginx 都是常见的反向代理服务器,它们的相同点和不同点如下: 相同点: 都可以作为反向代理服务器,接收来自客户端的请求并转发到后端服务器进行处理。 都支持负载均…