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

news2024/12/23 0:08:01

目录

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.coloradmin.cn/o/692978.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

数值计算例题整理

数值计算 一、误差的来源和分类二、有效数字第一个大题(非线性方程组的迭代法)第二个大题(LU分解)第三个大题(牛顿插值法)第四个大题(直线拟合) 一、误差的来源和分类 误差是描述数…

Git 原理和使用

Git 安装 Git是开放源代码的代码托管⼯具,最早是在Linux下开发的。开始也只能应⽤于Linux平台,后⾯慢慢的被移植到windows下,现在,Git可以在Linux、Unix、Mac和Windows这⼏⼤平台上正常运⾏了。 Linux-centos 安装git sudo yu…

8.3 PowerBI系列之DAX函数专题-矩阵Matrix中高亮显示最大最小值

需求 用颜色标量年度最大最小值 用颜色标示折线的最大值最小值 实现 在条件格式–规则–基于字段进行计算 度量值 is_max_min var displayed_data calculatetable( addcolumns( summarize(‘订单表’,‘产品表’[商品次级类别],‘订单表’[订单日…

arcgis栅格影像裁剪--shp

1、打开软件,导入数据,如下: 2、裁剪面形状如下,为shp文件: 3、在arctoolbox中找到"数据管理工具"--"栅格"--"栅格处理"--"裁剪"工具,如下: 4、打开裁…

(ESP32)报错-portTICK_RATE_MS‘ undeclared

(ESP32)报错-portTICK_RATE_MS undeclared 问题详情ESP- IDF未正确设置 问题详情 报错提示 portTICK_RATE_MS undeclared (first use in this function); did you mean portTICK_PERIOD_MS?具体情况 已经引用相关头文件,并且右键后可以大概…

leetcode 2462. Total Cost to Hire K Workers(雇用 K 名员工的总成本)

每次从 开头candidates个 和 末尾candidates个 工人中选择一个cost最小的。 如果有2个工人cost相同,就选index较小的。 每个工人的cost在数组costs里。 直到雇够k个工人。 问雇k个工人需要多少cost. 思路: 可以考虑用一个优先队列,按cost排…

2023开放原子全球开源峰会——一场开发者的盛宴

文章目录 上午场下午场开发者之夜 #“2023我在开源峰会”特别征文# 2023开放原子全球开源峰会,6月11日-13日在北京盛大召开,开幕第一天正好是周六,没什么事情,一大早就过去了,早晨大概7点出发,公交、地铁一…

Docker Desktop 安装使用教程

一、前言 作为开发人员,在日常开发中,我们需要在本地去启动一些服务,如:redis、MySQL等,就需要去下载这些在本地去启动,操作较为繁琐。此时,我们可以使用Docker Desktop,来搭建我们需…

php+mysql期末作业小项目

目录 1、登录界面 2、注册界面 3、主界面 4、学生表界面 5 、查询学生界面​编辑 6、修改学生信息界面​编辑 7、删除学生信息界面 8、添加学生信息界面 9、后台数据库​编辑 一个简单的php➕mysql项目学生信息管理系统,用于广大学子完成期末作业的参考&…

Android Studio导入flutter项目,运行和调试按钮灰色

描述:用android Studio导入flutter项目,运行和调试按钮无法点击并置灰,显示如下 解决方法:检查是否设置如下内容: 1.是否配置了Android SDK ,打开 file > project Structure >project 2.是否配置了F…

【架构】领域驱动设计(DDD)的几种典型架构介绍

文章目录 前言一、专业术语二、架构演变三、限界上下文四、领域驱动设计的四重边界五、整洁分层架构六、六边形架构七、洋葱架构总结 前言 我们生活中都听说了DDD,也了解了DDD,那么怎么将一个新项目从头开始按照DDD的过程进行划分与架构设计呢&#xff…

【Web自动化测试】如何生成高质量的测试报告

运行了所有测试用例,控制台输入的结果,如果很多测试用例那也不能够清晰快速的知道多少用例通过率以及错误情况。 web自动化测试实战之批量执行测试用例场景: 运行 AllTest.py 文件后得到的测试结果不够专业,无法直观的分析测试结果,我们能否…

如何学习和提高CAPL语言编程能力

CAPL是Vector公司开发的,用来配合它的系列产品使用的一款面向过程的语言。CAPL是Communication Access Programming Language的缩写,从字面意思来说,是专门用于通信访问的编程语言。 最初访问CAN总线,现在已扩展到所有的汽车总线…

代理模式(Proxy)

定义 代理是一种结构型设计模式,让你能够提供对象的替代品或其占位符。代理控制着对于原对象的访问,并允许在将请求提交给对象前后进行一些处理。 前言 1. 问题 举个例子:有这样一个消耗大量系统资源的巨型对象, 你只是偶尔需…

mac部署fastadmin踩坑记录

粘贴一下解决配置,主要Nginx配置问题 //后台NGINX location / {if (!-e $request_filename) {rewrite ^(.?\.php)(/.)$ /$1?s$2 last;# 加上这一句配置试试rewrite ^(.*)$ /ewgadmin.php?s$1 last; # 对应项目修改对应入口文件break;}}//接口文档Nginx配置 loca…

sql server还原新数据库,解决原库还原中...

1)用studyDB库,备份出数据库备份文件 studyDB_backup_2023_06_19.bak 2)用备份文件 studyDB_backup_2023_06_19.bak还原数据新库CollegeStudyDB和原库studyDB到同一服务器 3)数据库CollegeStudyDB按原成功,但是原库s…

Linux环境准备以及CentOS7.6系统安装

(该图由AI绘制 本人提供教学 FREE) 运维概述与Linux系统安装 一、VMware虚拟机 1、什么是虚拟机 其实虚拟机就是在Windows的真机上创建一个独立的其他操作系统的运行环境而且其对宿主机(Windows)没有任何影响。 2、虚拟机的种…

《操作系统》by李治军 | 实验7 - 地址映射与共享

目录 一、实验目的 二、实验内容 (一)跟踪地址翻译过程 (二)基于共享内存的生产者—消费者程序 (三)共享内存的实现 三、实验准备 1. Linux 中的共享内存 2. 获得空闲物理页面 3. 地址映射 4. 寻…

TS学习笔记——模块

模块 module 模块:在自身的作用域里执行,不是在全局作用域中,若是外部想要使用需要导入导出。 好处:1、提高了代码的复用性 2、解决命名冲突 3、提高代码的可维护性 模块导入导出:export (interface…

同步和异步、同步复位、异步复位、同步释放

文章目录 同步和异步同步复位、异步复位、同步释放同步复位异步复位同步释放(异步信号和CLK信号存在时序检查、Recover time&Removel time)典型的异步复位同步释放的verilog电路设计 同步和异步 数字电路根据逻辑功能的不同特点,可以分成…