【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)

  • 新版本中有一些更新,如果还用旧版本的方式,会有不少问题
  • 当前版本:spring-cloud 2021.0.0spring-boot 2.6.3hystrix 和 dashboard 2.2.10

1、新建 dashboard模块

springcloud-consumer-hystrix-dashboard-9001 监控模块

1)导jar包


<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
    
       
dependency>

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-netflix-hystrix-dashboardartifactId>
    <version>2.2.10.RELEASEversion>
dependency>

2)主启动类

@EnableHystrixDashboard 开启监控功能

@SpringBootApplication
@EnableHystrixDashboard
public class DepartmentConsumerDashboard_9001 {
    public static void main(String[] args) {
        SpringApplication.run(DepartmentConsumerDashboard_9001.class,args);
    }
}

3)配置yml

proxy-stream-allow-list: "*" 在新版本中需要配置这个

server:
  port: 9001

hystrix:
  dashboard:
    proxy-stream-allow-list: "*"

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第1张图片

2、修改熔断服务提供者模块

被监控的方法需要有熔断功能

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第2张图片

1)必备jar包

actuatorhystrix


<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-actuatorartifactId>
dependency>

<dependency>
    <groupId>org.springframework.cloudgroupId>
    <artifactId>spring-cloud-starter-netflix-hystrixartifactId>
dependency>

2)主启动类

在主启动类中添加如下方法:

两个方法选一个就可以

@Bean
public ServletRegistrationBean hystrixMetricsStreamServlet() {
    ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
    // 监控服务的地址
    servletRegistrationBean.addUrlMappings("/actuator/hystrix.stream");
    return servletRegistrationBean;
}

/*    @Bean
    public ServletRegistrationBean getServlet() {
        HystrixMetricsStreamServlet streamServlet = new HystrixMetricsStreamServlet();
        ServletRegistrationBean registrationBean = new ServletRegistrationBean<>(streamServlet);
        registrationBean.setLoadOnStartup(1);
        registrationBean.addUrlMappings("/actuator/hystrix.stream");
        registrationBean.setName("HystrixMetricsStreamServlet");
        return registrationBean;
    }*/
  • 主启动类上不需要再添加新注解
  • application.yml 中不需要增加配置;不用设为 include: "*"
# 监控端口配置
management:
  endpoints:
    web:
      exposure:
        # 开启 info,health;新版本中只默认开启了 health
        include: info,health
        # 
        #include: "*"

3、测试

启动

在这里插入图片描述

熔断服务提供者

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第3张图片

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第4张图片

监控页

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第5张图片

【SpringCloud 2021.0.0】11、Hystrix + Dashboard 流监控 (spring-boot 2.6.3)_第6张图片

4、总结

需要注意的几个点

  • 监控模块的yml中要配置 proxy-stream-allow-list: "*"
  • 被监控的方法要有 熔断服务
  • 监控页面填写流地址时用 主机名,不要用ip

你可能感兴趣的:(#,SpringCloud,spring,spring,cloud,dashboard)