微服务: 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包位置 

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.concurrency RABBIT_CONCURRENCY 并发消费者数量,默认为 1
zipkin.collector.rabbitmq.connection-timeout RABBIT_CONNECTION_TIMEOUT 建立连接时的超时时间,默认为 60000 毫秒,即 1 分钟
zipkin.collector.rabbitmq.queue RABBIT_QUEUE 从中获取 span 信息的队列,默认为 zipkin
zipkin.collector.rabbitmq.uri RABBIT_URI 符合 RabbitMQ URI 规范 的 URI,例如 amqp://user:pass@host:10000/vhost

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

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

zipkin.collector.rabbitmq.addresses RABBIT_ADDRESSES 用逗号分隔的 RabbitMQ 地址列表,例如 localhost:5672,localhost:5673
zipkin.collector.rabbitmq.password RABBIT_PASSWORD 连接到 RabbitMQ 时使用的密码,默认为 guest
zipkin.collector.rabbitmq.username RABBIT_USER 连接到 RabbitMQ 时使用的用户名,默认为 guest
zipkin.collector.rabbitmq.virtual-host RABBIT_VIRTUAL_HOST 使用的 RabbitMQ virtual host,默认为 /
zipkin.collector.rabbitmq.use-ssl RABBIT_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 使用有问题, 看看有没有其他解决方案

猜你喜欢

转载自blog.csdn.net/pingzhuyan/article/details/131394665