Hystrix提供了Hystrix Dashboard来实时监控HystrixCommand方法的执行情况。Hystrix Dashboard可以有效地反映出每个Hystrix实例的运行情况,帮助我们快速发现系统中的问题,从而采取对应措施。
使用熔断器仪表盘监控
在Ribbon和Feign项目增加Hystrix仪表盘功能,两个项目的改造方式相同。
在pom.xml中增加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
在application中增加@EnableHystrixDashboard注解 开启熔断器仪表盘监控 。
package com.funtl.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;
@EnableDiscoveryClient
@SpringBootApplication
@EnableFeignClients
@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 的配置 。
package com.funtl.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;
}
}
测试Hystrix Dashboard
访问http://localhost:8765/hystrix
在中间的输入框输入配置的servlet访问路径
输入 http://localhost:8765/hystrix.stream
delay:单位为毫秒.表示多少毫秒检测一次, title:主题(可以随便输入)
关注我
觉得有点东西就点一下“赞和在看”吧!感谢大家的支持了!