Hystrix的使用5-监控页面dashboard
1.简介
Hystrix仪表板可以实时监视Hystrix指标。可以查看Hystrix服务是否处于熔断状态等等。
2.代码实现
2.1 被监控工程代码增加代码
这里我们监控cloud-provider-payment-hystrix8001服务提供者类,需要在服务提供者启动类PaymentHystrixStart8001中加入以下方法,将监控地址修改http://127.0.0.1:8001/hystrix.stream 。
/**
* 给Hystrix Dashboard指定当前工程的监控路径为:http://127.0.0.1:8001/hystrix.stream
* @return
*/
@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.2 监控工程cloud-consumer-hystrix-dashboard9001
2.2.1 监控工程POM文件
<dependencies>
<!--新增hystrix dashboard-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
2.2.2 监控工程application.yml
server:
port: 9001
2.2.3 监控工程启动类
使用@EnableHystrixDashboard
注解开启监控。
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
/**监控工程启动类
*/
@SpringBootApplication
@EnableHystrixDashboard // 开启dashboard,通过图形化的方式监控: 查看 http://127.0.0.1:9001/hystrix
public class HystrixDashboardMain9001 {
public static void main(String[] args)
{
SpringApplication.run(HystrixDashboardMain9001.class, args);
}
}
2.2.4 测试
我们是在Hystrix的使用3-服务熔断Circuit Breaker的基础上进行的测试。请先启动Eureka、服务提供者。
2.2.4.1 dashboard页面
浏览器访问 http://127.0.0.1:9001/hystrix 进入配置页面。
进入监控页面:
我们可以看到监控页面的各个接口的访问数据。是否处于熔断,调用成功率,调用耗时等等。
2.2.4.2 dashboard页面查看熔断
我们可以看到,开始的时候使用id<0(接口会超时)去调用getPaymentBreak接口断路器处于关闭状态,调用熔断方法10次后(错误率100%),断路器处于打开状态,然后10秒后,再次使用id>=0(接口正常)去调用getPaymentBreak接口,断路器恢复关闭状态。
3.代码请见
https://github.com/ainydexiaohai/cloud2020
4.参考文章
来源:oschina
链接:https://my.oschina.net/u/4038621/blog/4406688