Hystrix:dashboard监控页面

2022-03-24 15:37:58 浏览数 (2)

第一步 创建一个监控页面的module

第二部 导入所需要的依赖

代码语言:javascript复制
  <dependencies>
        <!--hystrix依赖-->
        <!--导入hystrix依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--hystrix监控页面依赖-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>com.rpf</groupId>
            <artifactId>springcloud-api</artifactId>
            <version>1.0-SNAPSHOT</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--热部署-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-devtools</artifactId>
        </dependency>
        <!--集成Ribbon-->
        <!-- https://mvnrepository.com/artifact/org.springframework.cloud/spring-cloud-starter-ribbon -->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-ribbon</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
        <!--需要Eureka发现服务-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-eureka</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>
    </dependencies>

第三步 配置yml文件

代码语言:javascript复制
server:
  port: 9000

启动类上开启监控页面注解

代码语言:javascript复制
@SpringBootApplication
@EnableHystrixDashboard//开启监控页面
public class DeptConsumerDashboard_9000 {
    public static void main(String[] args) {
        SpringApplication.run(DeptConsumerDashboard_9000.class,args);
    }
}

第四步 确保服务提供方pom依赖加入了监控信息的依赖

代码语言:javascript复制
  <!--添加监控信息-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>

开启启动类 访问地址http://localhost:9000/hystrix 即可得到以下界面

这个时候我们需要在服务提供方注册一些监控信息 服务提供方需要导入hystrix的依赖

代码语言:javascript复制
 <!--hystrix-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-hystrix</artifactId>
            <version>1.4.6.RELEASE</version>
        </dependency>

在服务提供者的启动类中注入一个bean

代码语言:javascript复制
//启动类
@EnableEurekaClient//在服务启动后自动注册到Eureka服务端
@SpringBootApplication
@EnableDiscoveryClient//服务发现
public class DeptProvider_8001 {
    public static void main(String[] args) {
        SpringApplication.run(DeptProvider_8001.class,args);
    }

    //增加servlet
    @Bean
    public ServletRegistrationBean hystrixMetricsStreamServlet(){
        ServletRegistrationBean registrationBean= new ServletRegistrationBean(new HystrixMetricsStreamServlet());
        registrationBean.addUrlMappings("/actuator/hystrix.stream");//添加一个访问的路径
       return registrationBean;
    }
}

启动 注册中心 , 服务提供方 , 监控moudle 访问下方路径 看是否有数据

有数据监控成功 访问这个监控页面路径

代码语言:javascript复制
http://localhost:9000/hystrix

输入配置刚才访问的路径

即可看到监控数据

这个圆圈代表健康程度 绿色 黄色 橙色 红色 依次代表健康程度递减 流量越大 圆也越大

0 人点赞