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

SpringCloud学习笔记(十二)_Zipkin全链路监控

Zipkin是SpringCloud官方推荐的一款分布式链路监控的组件,使用它我们可以得知每一个请求所经过的节点以及耗时等信息,并且它对代码无任何侵入,我们先来看一下Zipkin给我们提供的UI界面都是提供了哪些信息。

如何使用Zipkin

虽然在SpringBoot2.0以后官方不推荐我们自定义Zipkin服务端,而是使用官方提供的jar包。但是作为开发者来说,如果不能去看一看源码,修改一些自定义的配置的话就好像生命掌握在别人手里一样,哪天碰到一个莫名奇妙的bug可就不开心了。所以本例中使用zipkin最新2.11.8release版本来构建一个服务端

1. 创建一个微服务 cloud-demo-zipkin-server
1. pom.xml
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  

|

<dependency>  <groupId>io.zipkin.java</groupId>  <artifactId>zipkin-server</artifactId>  <version>2.11.8</version>  </dependency>  <dependency>  <groupId>io.zipkin.java</groupId>  <artifactId>zipkin-autoconfigure-ui</artifactId>  <version>2.11.8</version>  </dependency>  <dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>  </dependency>  

—|—

2. yml
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
12  
13  
14  
15  
16  
17  

|

server:  port: 9411  
spring:  application:  name: zipkin-server  management:  metrics:  web:  server:  auto-time-requests: false  
eureka:  client:  serviceUrl:  defaultZone: http://localhost:8761/eureka/  instance:  prefer-ip-address: true  

—|—

3. 启动注解
1  
2  
3  

|

@EnableEurekaClient  
@EnableZipkinServer  
@SpringBootApplication  

—|—

需要注意的是EnableZipkinServer注解是zipkin2.server.internal包下的。

2. 创建一个微服务 cloud-demo-zipkin-server

改造一下我们原先的两个微服务:cloud-demo-consumer-feign-hystrix,cloud-demo-provider

首先为它们都加上zipkin客户端的依赖

1  
2  
3  
4  
5  
6  
7  
8  

|

<dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-sleuth</artifactId>  
</dependency>  
<dependency>  <groupId>org.springframework.cloud</groupId>  <artifactId>spring-cloud-starter-zipkin</artifactId>  
</dependency>  

—|—

yml中指定zipkin-server的url,并且指定日志发送方式为web

1  
2  
3  
4  
5  

|

spring:  zipkin:  base-url: http://localhost:19411  sender:  type: web  

—|—

3. 查看结果

此时我们所有的准备工作已经做好了,我们启动Eureka、zipkin、cloud-demo-consumer-feign-hystrix、cloud-demo-provider几个微服务,调用几次cloud-demo-consumer-feign-hystrix的user/getUser接口。然后访问http://localhost:9411应该就可以看到zipkin的UI界面。

这个时候可能有的童鞋看到有数据,有的没有数据,这个不是你的配置错了,而是因为zipkin客户端默认收集10%的数据,你可以使用下方的配置更改zipkin的采样频率。

1  
2  
3  
4  

|

spring:  sleuth:  sampler:  probability: 1.0  

—|—

GitHub地址:https://github.com/shiyujun/spring-cloud-demo。代码所在模块:cloud-demo-zipkin-server,cloud-demo-consumer-feign-hystrix,cloud-demo-provider

如果对您有所帮助,请记得帮忙点一个star哦

本文出自http://zhixiang.org.cn,转载请保留。

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

相关文章:

  • Java 多线程系列Ⅱ(线程安全)
  • const用法详解
  • 【LeetCode75】第四十二题 删除二叉搜索数中的节点
  • c++:QT day2 信号和槽
  • 16 Linux之JavaEE定制篇-搭建JavaEE环境
  • AI人员打闹监测识别算法
  • 如何使用CRM系统进行精细化管理客户?
  • 20230829工作心得:如何把大List 切割为多个小List?
  • 基于YOLOV8模型的阶梯和工人目标检测系统(PyTorch+Pyside6+YOLOv8模型)
  • Nginx特性应用及载装
  • vue3+ts组件通信
  • 基于卷积优化算法优化的BP神经网络(预测应用) - 附代码
  • 《论文阅读18》JoKDNet
  • buuctf [CISCN 2019 初赛]Love Math
  • GraphQL渗透测试案例及防御办法
  • Hive SQL 优化大全(参数配置、语法优化)
  • go锁-waitgroup
  • 访问0xdddddddd内存地址引发软件崩溃的问题排查
  • Java从入门到精通-流程控制(一)
  • MybatisPlus(2)
  • iOS UITableView上拉加载解决偶然跳动的Bug
  • MySQL 外键使用详解
  • MongoDB实验——在MongoDB集合中查找文档
  • 事务的总结
  • [ROS]yolov5-7.0部署ROS
  • Java抽象方法、抽象类和接口——第七讲
  • kafka集群之kraft模式
  • 虹科案例 | 缆索挖掘机维护—小传感器,大作用!
  • Windows安装FFmpeg说明
  • 电子电路原理题目整理(1)