Spring Cloud(Dalston.SR5)--Hystrix 监控

在服务调用者加入 Actuator ,可以对服务调用者的健康情况进行实时监控,例如,断路器是否打开、当前负载情况等。

  • 服务调用者

    需要增加 actuator依赖, 修改 POM.xml 中增加以下依赖项如下:

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

    </dependency>

       

  • 创建监控项目

    创建 hystrix-dashboard 项目,增加相关依赖 hystrix 和 hystrix-dashboard,修改 POM.xml 中增加以下依赖项:

    <?xmlversion="1.0"encoding="UTF-8"?>

    <projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0http://maven.apache.org/xsd/maven-4.0.0.xsd">

    <modelVersion>4.0.0</modelVersion>

       

    <groupId>org.lixue.hystrix</groupId>

    <artifactId>hystrix-dashboard</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <packaging>jar</packaging>

       

    <name>hystrix-dashboard</name>

    <description>DemoprojectforSpringBoot</description>

       

    <parent>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-parent</artifactId>

    <version>1.5.12.RELEASE</version>

    <relativePath/><!--lookupparentfromrepository-->

    </parent>

       

    <properties>

    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>

    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

    <java.version>1.8</java.version>

    <spring-cloud.version>Dalston.SR5</spring-cloud.version>

    </properties>

       

    <dependencies>

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-actuator</artifactId>

    </dependency>

    <dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-hystrix</artifactId>

    </dependency>

    <dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>

    </dependency>

       

    <dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-test</artifactId>

    <scope>test</scope>

    </dependency>

    </dependencies>

       

    <dependencyManagement>

    <dependencies>

    <dependency>

    <groupId>org.springframework.cloud</groupId>

    <artifactId>spring-cloud-dependencies</artifactId>

    <version>${spring-cloud.version}</version>

    <type>pom</type>

    <scope>import</scope>

    </dependency>

    </dependencies>

    </dependencyManagement>

       

    <build>

    <plugins>

    <plugin>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-maven-plugin</artifactId>

    </plugin>

    </plugins>

    </build>

    </project>

       

  • 修改启动类

    使用注解 @EnableHystrixDashboard 开启 Hystrix Dashboard支持

    package org.lixue.hystrix;

       

    import org.springframework.boot.SpringApplication;

    import org.springframework.boot.autoconfigure.SpringBootApplication;

    import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;

       

    @SpringBootApplication

    @EnableHystrixDashboard

    public class HystrixDashboardApplication{

       

    public static void main(String[]args){

    SpringApplication.run(HystrixDashboardApplication.class,args);

    }

    }

       

  • 增加配置

    修改 src/main/resources/application.yml 配置文件,增加相关配置:

    #配置应用名称

    spring:

    application:

    name:hystrix-dashboard

    #服务端口

    server:

    port:10002

       

  • 测试验证

    启动项目,访问 http://localhost:10002/hystrix 可以打开 Hystrix 监控主页(不支持 IE 和 Edge),输入需要监控的站点 http://localhost:8077/hystrix.stream 点击 Monitor Stream 可以打开监控页面,这时通过服务调用者来调用服务,可以看到监控数据变化:

       

    监控数据的说明可以参考官方提供的说明如下:

原文地址:https://www.cnblogs.com/li3807/p/8916838.html