- 新建 一个 springcloud-consumer-hystrix-dashboard
需要多加一个 Hystrix 的依赖 和 Hystrix-dashboard 依赖
springcloud top.muquanyu 1.0-SNAPSHOT 4.0.0 springcloud-consumer-hystrix-dashboard 8 8 top.muquanyu springcloud-api 1.0-SNAPSHOT org.springframework.boot spring-boot-starter-web org.springframework.boot spring-boot-devtools org.springframework.cloud spring-cloud-starter-eureka 1.4.7.RELEASE org.springframework.cloud spring-cloud-starter-netflix-hystrix 2.2.10.RELEASE org.springframework.cloud spring-cloud-starter-netflix-hystrix-dashboard 2.2.10.RELEASE
- 配置 application.yaml
server:
port: 9001
hystrix:
dashboard:
proxy-stream-allow-list: "*"
- 使用 @EnableHystrixDashboard 注解
package top.muquanyu.springcloud;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.netflix.hystrix.dashboard.EnableHystrixDashboard;
@SpringBootApplication
@EnableHystrixDashboard // 开启 Dashboard
public class DeptConsumerDashboard_9001 {
public static void main(String[] args) {
SpringApplication.run(DeptConsumerDashboard_9001.class,args);
}
}
4. 访问 http://localhost:9001/hystrix
5. 在 springcloud-provider-dept-hystrix-8001 中 新增 一个 Servlet
package top.muquanyu.springcloud;
import com.netflix.hystrix.contrib.metrics.eventstream.HystrixMetricsStreamServlet;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.web.servlet.ServletRegistrationBean;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.context.annotation.Bean;
@SpringBootApplication
@EnableEurekaClient
@EnableDiscoveryClient
@EnableHystrix // 添加 对 Hystrix 的支持
public class DeptProviderHystrix_8001 {
public static void main(String[] args) {
SpringApplication.run(DeptProviderHystrix_8001.class,args);
}
@Bean
// 增加 一个 Servlet
public ServletRegistrationBean hystrixMetricsStreamServlet(){
ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(new HystrixMetricsStreamServlet());
servletRegistrationBean.addUrlMappings("/actuator/hystrix.stream");
return servletRegistrationBean;
}
}
访问 http://localhost:8001/actuator/hystrix.stream
切记:hystrix 监控,肯定监控的是 熔断 的 服务呀。
6. 使用 http://localhost:9001/hystrix 监控 8001 服务
如果 一直报错 jdbc 的 java.sql.SQLNonTransientConnectionException: Public Key Retrieval is not all,则 在 url 那里 添加 allowPublicKeyRetrieval=true 即可解决问题。
server:
port: 8001
mybatis:
type-aliases-package: top.muquanyu.springcloud.pojo
config-location: classpath:mybatis/mybatis-config.xml
mapper-locations: classpath:mybatis/mapper/*.xml
#spring 的配置
spring:
application:
name: springcloud-provider-dept
datasource:
type: com.alibaba.druid.pool.DruidDataSource
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/db01?useUnicode=true&characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
username: root
password: 123123
#Eureka 的配置,只需要配置 服务 注册到 哪里就行了
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka,http://eureka7002.com:7002/eureka,http://eureka7003.com:7003/eureka
instance:
instance-id: springcloud-provider-hystrix-dept8001 # 这个更改的就是 Status 的描述
perfer-ip-address: true
# info 配置
info:
app.name: MQy-springcloud
company.name: MQy
management:
endpoints:
web:
exposure:
include: "*"
info:
env:
enabled: true
如果 这个上面的页面,一直 显示 ping 则 先去 请求一下 服务。则就会 显示 正常的数据页面了。
如下:我们可以 直接 对 这个 流 进行监控!
然后,只要 发送 一个 请求,使用 一次 服务,我们这里 就会 有 监控 在 信息在变动!



