仪表盘用于实时监控Hystrix的各项指标信息,帮助我们快速的找到系统费中存在的信息,对运维也有非常大的帮助。
构建仪表盘很简单,有两种方法,一种是单独新建一个项目,一种是在原先实例项目中添加。本人之前单独新建一直不成功,不知道哪里出了问题,后面在实例项目中添加才成功,后面在新建项目中试也成功了,不知道为什么之前就不行。
新建项目
很简单,新建一个springboot项目,添加依赖包
<parent>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-parent</artifactId>
<version>Brixton.SR5</version>
<relativePath/>
</parent>
<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-actuator</artifactId>
</dependency>
只需要这些就够了,然后在启动类添加注解
package com.dashboard;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@SpringBootApplication
@EnableHystrixDashboard//添加这个仪表盘注解
//@EnableDiscoveryClient
public class HystrixDashboardApplication {
public static void main(String[] args) {
SpringApplication.run(HystrixDashboardApplication.class, args);
}
}
配置文件配置基本的就行
spring.application.name=hystrix-dashboard
server.port=2001
这样就可以啦,启动项目,浏览器输入http://127.0.0.1:2001/hystrix
然后随便找一个实例项目,我找的是之前的ribbon,添加依赖包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
</dependency>
在启动类里添加注解:@EnableCircuitBreaker//开启断路器
启动实例项目。
然后在那个面板里输入你这个项目的ip加端口后面加hystrix.stream,如:http://127.0.0.1:9000/hystrix.stream
点击Monitor Stream
这就说明成功了,注意有时候会出不来,这需要你先访问实例项目的一个接口,不知道为什么,百度了有人说要先访问一下接口再进来才有数据,
不看面板的话直接在浏览器输入http://127.0.0.1:9000/hystrix.stream的话,不成功就会一直ping下去,成功的话就显示
第二种方法改造实例项目,就是把前面新建项目中添加的依赖包添加进去,在启动类里添加注解就行,然后访问自己的端口就行。