Spring Boot Admin
Posted baby123
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot Admin相关的知识,希望对你有一定的参考价值。
Spring Boot Admin 是一个管理和监控 Spring Boot 应用程序的开源软件,每个应用都认为是一个客户端,通过 HTTP 或者使用 Eureka 注册到 admin server 中进行展示,Spring Boot Admin UI 部分使用 Vue.js 将数据展示在前端。
Spring Boot Admin 分为:
服务端是一个监控后台用来汇总展示所有的监控信息
客户端就是具体的应用
1.server和client的模式
(1)server端
添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-server</artifactId> <version>2.1.6</version> </dependency>
配置
server.port=8000
spring.application.name=Admin Server
启动类
package com.example.management; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication @EnableAdminServer public class ManagementApplication public static void main(String[] args) SpringApplication.run(ManagementApplication.class, args);
(2)client端
添加依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>2.1.6</version> </dependency>
配置
server.port=8001
spring.application.name=Admin Client
spring.boot.admin.client.url=http://localhost:8000
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
启动类
package com.example.client; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class ClientApplication public static void main(String[] args) SpringApplication.run(ClientApplication.class, args);
注:
使用时需要先启动服务端,在启动客户端的时候打开 Actuator 的接口,并指向服务端的地址
2.基于springcloud的模式
(1)server
在server端加入@EnableDiscoveryClient注解,SBA就会主动去拉取注册中心的注册服务列表,从而获取他们的服务动态信息
注册中心使用Eureka
添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> <version>2.1.3.RELEASE</version> </dependency>
配置
server.port=8000 spring.application.name=Admin Server eureka.instance.hostname=localhost eureka.instance.lease-renewal-interval-in-seconds=10 eureka.instance.prefer-ip-address=true eureka.client.registry-fetch-interval-seconds=5 eureka.client.register-with-eureka=false eureka.client.fetch-registry=false eureka.client.service-url.default-zone=$EUREKA_SERVICE_URL:http://localhost:8761/eureka/
启动类
package com.example.management; import de.codecentric.boot.admin.server.config.EnableAdminServer; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.client.discovery.EnableDiscoveryClient; @SpringBootApplication @EnableAdminServer @EnableDiscoveryClient public class ManagementApplication public static void main(String[] args) SpringApplication.run(ManagementApplication.class, args);
启动服务就可以看到注册到注册中心的服务都会被监控
https://blog.csdn.net/sinat_24798023/article/details/80240408
以上是关于Spring Boot Admin的主要内容,如果未能解决你的问题,请参考以下文章
为啥 Spring Boot 应用程序 pom 同时需要 spring-boot-starter-parent 和 spring-boot-starter-web?
《02.Spring Boot连载:Spring Boot实战.Spring Boot核心原理剖析》