查看原文
其他

跟我学Spring Cloud(Finchley版)-25-Spring Cloud Sleuth与Zipkin配合使用

周立 IT牧场 2021-08-10

一个良好的监控,应该有一个人类亲和的界面,这个界面就是Zipkin。本文详细讨论Sleuth如何与Zipkin配合使用。

Zipin简介

Zipkin是Twitter开源的分布式跟踪系统,基于Dapper的论文设计而来。它的主要功能是收集系统的时序数据,从而追踪微服务架构的系统延时等问题。Zipkin还提供了一个非常友好的界面,帮助我们分析追踪数据。

TIPS

Zipkin官方网站:http://zipkin.io/

Zipkin Server搭建

1 使用https://search.maven.org/remote_content?g=io.zipkin.java&a=zipkin-server&v=LATEST&c=exec下载最新版本的Zipkin Server,例如 zipkin-server-2.11.3-exec.jar

2 启动Zipkin Server

  1. java -jar zipkin-server-2.11.7-exec.jar

3 访问 http://localhost:9411 即可看到Zipkin Server的首页。

Zipkin UI

Zipkin UI首页:

简单讲解图中各个查询条件的含义:

① Service Name表示服务名称,也就是各个微服务spring.application.name的值。

② 第二列表示span的名称,“all”表示所有span,也可选择指定span。

③ Lookback用于执行想要查看的之间段。

④ Duration表示持续时间,即span从创建到关闭所经历的时间。

⑤ Limit表示查询几条数据。类似于MySQL数据库中的limit关键词。

⑥ Annotations Query,用于自定义查询条件。

微服务整合Zipkin

在 跟我学Spring Cloud(Finchley版)-24-Spring Cloud Sleuth入门 的基础上:

1 加依赖

  1. <dependency>

  2. <groupId>org.springframework.cloud</groupId>

  3. <artifactId>spring-cloud-sleuth-zipkin</artifactId>

  4. </dependency>

2 加配置

  1. spring:

  2. zipkin:

  3. base-url: http://localhost:9411

  4. sleuth:

  5. sampler:

  6. # 采样率,模式0.1,也就是10%,为了便于观察效果,改为1.0,也就是100%。生产环境建议保持默认。

  7. probability: 1.0

测试

1 启动微服务,访问 http://localhost:8000/users/1

2 观察 http://localhost:9411 ,可看到类似如下界面:

3 点击上图中标注的3,可看到类似如下的界面:

如图,已经展示了该次请求的耗时。如果你有多个应用,Zipkin将会展示每个应用消耗了多少时间,蓝色表示请求正常,红色表示请求失败。

配套代码

  • GitHub:https://github.com/eacdy/spring-cloud-study/tree/master/2018-Finchley/microservice-provider-user-sleuth-zipkin

  • Gitee:https://gitee.com/itmuch/spring-cloud-study/tree/master/2018-Finchley/microservice-provider-user-sleuth-zipkin

相关热文

干货分享

最近将个人学习笔记整理成册,使用PDF分享。关注我,回复如下代码,即可获得百度盘地址,无套路领取!

  • 001:《Java并发与高并发解决方案》学习笔记;

  • 002:《深入JVM内核——原理、诊断与优化》学习笔记;

  • 003:《Java面试宝典》

您的关注是对我最大的支持!

万水千山总是情,点个“好看”行不行

↓↓↓↓

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存