SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)
1、启动基础工程
1.1、启动【服务中心】集群,工程名称:springcloud-eureka-server
1.2、启动【服务提供者】集群,工程名称:springcloud-eureka-client
1.3、启动【服务消费者】,工程名称:springcloud-eureka-ribbon
1.4、启动【服务消费者】,工程名称:springcloud-eureka-feign
2、创建【断路器指标看板】,即 Hystrix Dashboard
2.1、新建 Spring Boot 工程,工程名称:springcloud-eureka-hystrix-dashboard
2.2、工程 pom.xml 文件添加如下依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
2.3、在工程启动类中,添加注解 @EnableDiscoveryClient,@EnableHystrixDashboard
package com.miniooc.eurekahystrixdashboard; import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard; /**
* EurekaHystrixDashboardApplication
*
* @author 宋陆
* @version 1.0.0
*/
@EnableHystrixDashboard // 启用 HystrixDashboard 断路器看板 相关配置
@EnableDiscoveryClient // 启用 Eureka 服务发现 相关配置
@SpringBootApplication
public class EurekaHystrixDashboardApplication { public static void main(String[] args) {
SpringApplication.run(EurekaHystrixDashboardApplication.class, args);
} }
2.4、新建工程配置文件 application.yml ,配置内容:
server:
port: 52630 spring:
application:
name: eureka-hystrix-dashboard eureka:
instance:
hostname: localhost
# 表示eureka client间隔多久去拉取服务注册信息,默认为30秒,如果要迅速获取服务注册状态,可以缩小该值
lease-renewal-interval-in-seconds: 5
# 表示eureka server至上一次收到client的心跳之后,等待下一次心跳的超时时间,在这个时间内若没收到下一次心跳,则将移除该instance。
# 默认为90秒
# 如果该值太大,则很可能将流量转发过去的时候,该instance已经不存活了。
# 如果该值设置太小了,则instance则很可能因为临时的网络抖动而被摘除掉。
# 该值至少应该大于 leaseRenewalIntervalInSeconds
lease-expiration-duration-in-seconds: 10
client:
serviceUrl:
defaultZone: http://localhost:9527/eureka/,http://localhost:9528/eureka/,http://localhost:9529/eureka/
2.5、启动【断路器指标看板】工程
2.6、打开浏览器,访问 http://localhost:52630/hystrix
2.7、监控地址输入 http://localhost:52610/hystrix.stream 来监控 springcloud-eureka-ribbon 服务,点击【Monitor Stream】按钮,开启断路器指标看板
报了一个红色提示,Unable to connect to Command Metric Stream.这是因为我们开启监控的断路器流 Hystrix Stream: http://localhost:52610/hystrix.stream。这个路径,不是springboot工程默认路径,也不是hystrix默认路径。
解决方案:修改【服务消费者】工程,注册断路器指标流Servlet
2.8、修改【服务消费者】工程,工程名称:springcloud-eureka-ribbon,修改EurekaRibbonConfig类,注册断路器指标流Servlet
package com.miniooc.eurekaribbon.config; import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate; /**
* EurekaRibbonConfig
* 应用配置类,初始化 Bean和配置信息
*
* @author 宋陆
* @version 1.0.0
*/
@Configuration
public class EurekaRibbonConfig { @Bean // 初始化 Bean
@LoadBalanced // 实现负载均衡
public RestTemplate restTemplate() {
return new RestTemplate();
} @Bean
public ServletRegistrationBean getServlet() {
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.setLoadOnStartup(1);
registrationBean.addUrlMappings("/hystrix.stream");
registrationBean.setName("HystrixMetricsStreamServlet");
return registrationBean;
}
}
2.9、重启【服务消费者】springcloud-eureka-ribbon 服务。刷新【断路器指标看板】页面
红框处 Loading... 状态,是因为重启【服务消费者】后,没有任何请求,所以,也就没有任何数据流产生。监控页面就处于加载中。只要我们请求一下 http://localhost:52610/ribbonInfo,就可以看到数据指标了。
2.10、新开浏览器窗口,访问 http://localhost:52630/hystrix
2.11、监控地址输入 http://localhost:52620/hystrix.stream 来监控 springcloud-eureka-feign 服务,点击【Monitor Stream】按钮,开启断路器指标看板
依旧是同样的问题,Unable to connect to Command Metric Stream。
解决方案:修改【服务消费者】工程,注册断路器指标流Servlet
2.12、修改【服务消费者】工程,工程名称:springcloud-eureka-feign,新增EurekaFeignConfig类,注册断路器指标流Servlet
package com.miniooc.eurekafeign.config; import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.loadbalancer.LoadBalanced;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.web.client.RestTemplate; /**
* EurekaFeignConfig
* 应用配置类,初始化 Bean和配置信息
*
* @author 宋陆
* @version 1.0.0
*/
@Configuration
public class EurekaFeignConfig { @Bean
public ServletRegistrationBean getServlet() {
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.setLoadOnStartup(1);
registrationBean.addUrlMappings("/hystrix.stream");
registrationBean.setName("HystrixMetricsStreamServlet");
return registrationBean;
} }
2.13、重启【服务消费者】springcloud-eureka-feign 服务。刷新【断路器指标看板】页面
依旧是 Loading... 问题,只要我们请求一下 http://localhost:52610/feignInfo,就可以看到数据指标了。
SpringCloud2.0 Hystrix Dashboard 断路器指标看板 基础教程(八)的更多相关文章
- SpringCloud2.0 Hystrix Dashboard 断路器指标看板
原文:https://www.cnblogs.com/songlu/p/9973856.html 1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-ser ...
- spring cloud 2.x版本 Hystrix Dashboard断路器教程
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server.eureka-client.eureka ...
- SpringCloud2.0 Hystrix Feign 基于Feign实现断路器 基础教程(七)
1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...
- SpringCloud2.0 Hystrix Ribbon 基于Ribbon实现断路器 基础教程(六)
1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) 2.启动[服务提供者]集 ...
- SpringCloud2.0 Hystrix Feign 基于Feign实现断路器
原文:https://www.cnblogs.com/songlu/p/9968953.html 1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 Sprin ...
- SpringCloud2.0 Hystrix Ribbon 基于Ribbon实现断路器
原文:https://www.cnblogs.com/songlu/p/9949203.html 1.启动[服务中心]集群,工程名:springcloud-eureka-server 参考 Sprin ...
- git基础教程(八)
8. gitlab相关介绍 8.1 gitlab优势 社区版本,自己可以在公司搭建环境 维护人员多,版本更新块 易用性强,上手快 集成CI(持续集成) 集成CD(持续发布) 8.2 持续集成 8.2. ...
- SpringCloud2.0 Turbine 断路器集群监控 基础教程(九)
1.启动基础工程 1.1.启动[服务中心]集群,工程名称:springcloud-eureka-server 参考 SpringCloud2.0 Eureka Server 服务中心 基础教程(二) ...
- SpringCloud学习系列之三----- 断路器(Hystrix)和断路器监控(Dashboard)
前言 本篇主要介绍的是SpringCloud中的断路器(Hystrix)和断路器指标看板(Dashboard)的相关使用知识. SpringCloud Hystrix Hystrix 介绍 Netfl ...
随机推荐
- {Redis}NOAUTH Authentication required. Linux.cenOS
问题 [root@VM_0_12_centos redis]# ./bin/redis-cli -p 6379 127.0.0.1:6379> INFO NOAUTH Authenticatio ...
- maven cloudara依赖下载
最近开发的项目使用到了cloudara的依赖,已经在pom.xml 中配置了cloudara的repository,但是还是无法下载 <repositories> <reposito ...
- Jmeter在Http Rest接口中自动生成签名(Json格式请求参数)
第一步: 签名的java类生成jar包,导入到jmeter的lib目录下(依赖的第三方包也要导入) 第二步:编写jmeter脚本,这里使用BeanShell 进行签名串的生成,目录结构如下: Bean ...
- javascript两种循环写法
var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; ...
- jmeter jtl 文件
一.获取.jtl文件 使用非 GUI 模式,即命令行模式运行 JMeter .执行完成jmeter后,会生成jtl文件. 1.1. 命令介绍 1)先cmd进入到jmeter的bin文件目录下(这里是 ...
- FORMAT 的用法
https://www.cnblogs.com/gaodu2003/archive/2008/12/22/1359927.html Format 格式指令具有以下的形式:"%" [ ...
- C语言的变参列表 va_list
1. va_list的基本原理和用法 #include<stdio.h> #include<stdarg.h> void func(int i,char *ch,...){ / ...
- JavaWeb项目之多条件过滤
相信很多同学在学习java基础之后,面对各种项目还是相当头疼,那今天我将手把手教你学会JavaWeb项目中的多条件过滤,希望你能在与我实战的过程中积累经验,更进一步. 分页查询 需求分析:在列表页面中 ...
- C# 练习题 有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?
题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少?程序分析: 兔子的规律为数列1,1,2,3,5,8, ...
- 表单提交学习笔记(二)—使用jquery.validate.js进行表单验证
一.官网下载地址:http://plugins.jquery.com/validate/ 二.用法 1.在页面上进行引用 <script src="~/scripts/jquery-1 ...