在众多正在运行的微服务中,我们必须做到随时掌握每一个服务的运行情况及其健康状态,才能保证整个平台的稳定性和可靠性。使用Hystrix断路器仪表盘功能就可以创建一个监控中心,实现在线监控微服务的运行状态。(此处代码有待完善)
首先,在项目的配置管理中心中增加依赖配置
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency> </dependencies>
创建一个启动程序
@SpringBootApplication @Controller//创建了一个控制器,设定对主业的链接转发到“/hystrix”中 @EnableHystrixDashboard//启动路由器仪表盘功能 @EnableCircuitBreaker public class HystrixApplication { @RequestMapping("/") public String home(){ return "forward: /hystrix"; } public static void main(String[] args){ SpringApplication.run(HystrixApplication.class,args); } }
创建应用的配置文件"application.yml"
server: port: 7979 endpoints: restart: enabled: true shutdown: enabled: true
使用“http://localhost:7979”可以打开监控中心的控制台
聚合服务监控管理中心
上面的监控中心能够单独针对每一个微服务进行监控。当需要监控不同的服务是,将切换不同的界面。创建一个聚合服务监控中心,可以在一个界面中同时监控多个微服务
新建一个模块,名字设定为base-turbine
引入依赖
<dependencies> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-turbine</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-hystrix-dashboard</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency> <dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-bus-amqp</artifactId> </dependency> </dependencies>
创建启动程序
@EnableHystrixDashboard @SpringBootApplication @EnableHystrix @Controller @EnableTurbine//turbine监控聚合功能 @EnableDiscoveryClient//Eureka服务发现功能 public class TurbineApplication { public static void main(String[] args){ SpringApplication.run(TurbineApplication.class, args); } }
工程的配置文件“application.yml”
server: port: 8989 management: server: port: 8990 eureka: instance: lease-renewal-interval-in-seconds: 10 non-secure-port: ${PORT:8989} client: service-url: defaultZone: http://localhost:8761/eureka/ turbine: app-config: erueka//指定需要监控的服务 aggregator: cluster-config: default cluster-name-expression: new String("default")
增加一个“bootstrap.yml”配置文件,连接配置管理中心
spring: application: name: turbine cloud: config: uri: http://localhost:8888 rabbitmq: addresses: amqp://localhost:5762 username: guest password: guest
标签:架构设计,spring,springframework,---,starter,监控,Spring,org,cloud From: https://www.cnblogs.com/luckLjh/p/17664955.html