十、可视化的数据监控dashboard
1、pom文件添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId>
</dependency>
2、启动类添加注解
@EnableHystrix
@EnableHystrixDashboard
package com.example.mycloud.run;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
@EnableHystrix
@EnableHystrixDashboard
@EnableCaching //加入springcache
@EnableCircuitBreaker //开启服务降级-断路器
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan("com.example.mycloud")
@EnableFeignClients("com.example.mycloud")
public class ServiceProvider3Application {
public static void main(String[] args) {
SpringApplication.run(ServiceProvider3Application.class, args);
}
}
3、监控工具
被监控地址:
http://127.0.0.1:8016/actuator/hystrix.stream
会看到很多ping、data
可视化监控页面:
http://127.0.0.1:8016/hystrix
4、监控界面
5、参数说明
十一、集群的数据监控
1、示意图
2、pom文件添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-turbine</artifactId>
</dependency>
3、启动类添加注解
@EnableTurbine
package com.example.mycloud.run;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cache.annotation.EnableCaching;
import org.springframework.cloud.client.circuitbreaker.EnableCircuitBreaker;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
import org.springframework.cloud.netflix.turbine.EnableTurbine;
import org.springframework.cloud.openfeign.EnableFeignClients;
import org.springframework.context.annotation.ComponentScan;
@EnableTurbine
@EnableHystrix
@EnableHystrixDashboard
@EnableCaching //加入springcache
@EnableCircuitBreaker //开启服务降级-断路器
@EnableDiscoveryClient
@SpringBootApplication
@ComponentScan("com.example.mycloud")
@EnableFeignClients("com.example.mycloud")
public class ServiceProvider3Application {
public static void main(String[] args) {
SpringApplication.run(ServiceProvider3Application.class, args);
}
}
4、配置文件添加
#配置eureka中的serviceId列表,表明监控哪些服务
turbine.appConfig=service-provider1
#指定聚合哪些集群,多个使用逗号分割,默认为default。可使用http://.../turbine.stream?cluster={clusterConfig之一}访问
turbine.aggregator.clusterConfig=default
#指定集群名称
turbine.clusterNameExpression=new String("default")
5、监控工具
http://127.0.0.1:8016/turbine.stream
在Hystrix Dashboard面板中输入以上地址
十二、用rabbitmq收集监控数据
1、示意图
2、为什么用rabbitmq
(1)没有用rabbitmq,网络和turbine是强依赖的
(2)不用手工写配置文件
3、启动类添加注解
@EnableTurbineStream
4、加入rabbltmq配置