Feign和Ribbon使用熔断器仪表盘监控都需要依赖于下面的Jar
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
在application中增加@EnableHystrixDashboard注解 开启熔断器仪表盘监控
package com.einblatt.hello.spring.cloud.web.admin.feign;
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;
import org.springframework.cloud.openfeign.EnableFeignClients;
@EnableFeignClients //启用Fegin客户端
@EnableDiscoveryClient //注册到eureka
@SpringBootApplication
@EnableHystrixDashboard //开启熔断器监控
public class WebAdminFeignApplication {
public static void main(String[] args) {
SpringApplication.run(WebAdminFeignApplication.class,args);
}
}
创建 hystrix.stream
的 Servlet 配置
Spring Boot 2.x 版本开启 Hystrix Dashboard 与 Spring Boot 1.x 的方式略有不同,需要增加一个 HystrixMetricsStreamServlet
的配置
创建config文件夹在其文件夹下创建HystrixDashboardConfiguration 类(配置类)
package com.einblatt.hello.spring.cloud.web.admin.feign.config;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration
public class HystrixDashboardConfiguration {
@Bean
public ServletRegistrationBean getServlet(){
HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
ServletRegistrationBean registrationBean = new ServletRegistrationBean(streamServlet);
registrationBean.setLoadOnStartup(1); //开机自启(加载顺序)
registrationBean.addUrlMappings("/hystrix.stream"); //配置servlet的访问路径
registrationBean.setName("HystrixMetricsStreamServlet"); //servlet的名称
return registrationBean;
}
}
测试
访问http://localhost:8765/hystrix
出现这个豪猪界面
中间那输入框输入配置的servlet访问路径
输入 http://localhost:8765/hystrix.stream
delay:单位为毫秒.表示多少毫秒检测一次,title:主题
若访问成功会出现以下页面