08.DashBoard流监控配置
每个服务提供者都需要实现actuator,才可以实现流量监控。
导入Maven依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
<version>2.2.10.RELEASE</version>
</dependency>
进行配置文件的编写
server:
port: 9001
hystrix:
dashboard:
proxy-stream-allow-list: "localhost"
使用注解开启
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@SpringBootApplication
@EnableHystrixDashboard
public class BirdConsumer_dashboard_9001 {
public static void main(String[] args) {
SpringApplication.run(BirdConsumer_dashboard_9001.class,args);
}
}
服务提供者方所需要的操作
这之即为我们服务的提供者,也就是被监管方所需要进行的配置。
开启actuator
我们需要在当前所被监控的服务提供者上添加actuator的依赖,并且当前的服务提供者必须需要带有服务熔断的功能。
<!--actuator-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
<version>2.7.5</version>
</dependency>
添加Servlet
在新的版本中我们需要自己手动注入ServletRegistrationBean,所以我们需要在主启动类中添加当前所需要的Bean,并且添加我们所需要访问的可视化hystrix界面的地址。且@EnableHystrix也是必不可少的。
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableHystrix
public class BirdProvider_Hystrix_8003 {
public static void main(String[] args) {
SpringApplication.run(BirdProvider_Hystrix_8003.class,args);
}
@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;
}
}
至此,全部的配置已经完成。
所需启动的类
我们可只启动一个服务注册中心端,服务提供者端(被监控端),消费者端。
进入我们的注册了dashboard端的消费者,并且在其后面添加我们所设置的地址即可进入以下界面
例如我们的端口号是9001,所以地址应该是 http://localhost:9001/hystrix
在此之后,我们需要在当前的界面输入我们所需要监控的提供者。
例如端口号为8003,我们设置路径为/hystrix.stream,所以地址应该是 http://localhost:8003/hystrix.stream,该路径也是可以直接通过url进入的但是并不会进入监控面板。
Delay:用来控制服务器上轮询监控信息的延迟时间,可以通过配置该属性来降低客户端的网络和CPU消耗。 ,默认为2000毫秒。
Title:对应标题Hystrix Stream之后的内容,默认会使用具体监控实例的URL。
DashBoard面板具体内容
在Circuit中,我们从上到下,从左到右依次介绍每一个颜色,绿色代表着请求成功数,蓝色为熔断数,青色代表错误请求数,黄色为超时数,紫色为线程池拒绝数,红色为异常数。
在Circuit中,我们从上到下,从左到右依次介绍每一个颜色,绿色代表着请求成功数,蓝色为熔断数,青色代表错误请求数,黄色为超时数,紫色为线程池拒绝数,红色为异常数。
在左边的圆圈,我们的访客量越大,该圆就会越大,曲线为访客量的大小变化。并且其颜色代表其健康程度,健康程度:绿色、黄色、橙色、红色依次递减。