關注公衆號:壹家大數據
源碼下載,後臺回覆:spa
Spring Boot Admin簡介
Spring Boot Admin是一個開源社區項目,用於管理和監控SpringBoot應用程序。創建的springboot應用程序作爲Spring Boot Admin Client需要向Spring Boot Admin Server註冊(通過HTTP)。UI是的AngularJs應用程序,展示Spring Boot Admin Client的Actuator端點上的一些監控。常見的功能或者監控如下,比如顯示健康狀況,監控日誌等級等。
搭建server端
創建Spring Boot Admin Server
本文采用maven工程的方式來進行搭建,spring boot的版本爲2.1.1。在工程admin-server引入admin-server的起來依賴和web的起步依賴,代碼如下:
<dependencies>
<!-- AdminUI服務端依賴 -->
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-server</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!-- Spring Boot Actuator對外暴露引用的監控信息, Jolokia提供使用HTTP接口獲取json -->
<dependency>
<groupId>org.jolokia</groupId>
<artifactId>jolokia-core</artifactId>
</dependency>
<!-- Spring Boot Actuator依賴 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 服務包引用1.1.1版本, maven倉庫已經不支持下載, 手動引入1.1版本 -->
<dependency>
<groupId>com.googlecode.json-simple</groupId>
<artifactId>json-simple</artifactId>
<version>1.1</version>
</dependency>
</dependencies>
然後需要在工程的啓動類Application加上@EnableAdminServer註解,才能夠開啓AdminServer的功能,代碼如下:
@SpringBootApplication
@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class Application {
public static void main(String[] args) {
SpringApplication.run(Application.class, args);
}
}
在工程的配置文件application.properties中配置程序名和程序的端口,代碼如下:
server.port=8081
通過上面的操作,Admin Server就創建好了。
創建Spring Boot Admin Client
需要在admin-client工程的pom文件引入admin-client的起步依賴和web的起步依賴,代碼如下:
<dependency>
<groupId>de.codecentric</groupId>
<artifactId>spring-boot-admin-starter-client</artifactId>
<version>2.1.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
在springboot 應用的配置文件application.properties中配置應用名和端口信息,以及指定admin-server註冊的地址爲http://127.0.0.1:8081.最後暴露spring-boot應用的所有的端口信息
management.endpoint.loggers.enabled=true
management.endpoints.web.exposure.include=*
spring.boot.admin.client.url=http://127.0.0.1:8081
spring.application.name=admin-client
spring-boot應用的啓動文件如下:
@EnableAdminServer
@SpringBootApplication
public class SpringTutorialApplication {
private static Logger logger = LoggerFactory.getLogger(SpringTutorialApplication.class);
public static void main(String[] args) {
logger.info("test info");
logger.debug("test debug");
SpringApplication.run(SpringTutorialApplication.class, args);
}
一次啓動兩個工程,在瀏覽器上輸入localhost:8081,瀏覽器顯示的界面如下:
點擊查看wallboard:
點擊wallboard,可以看到admin-client具體的信息,比如內存狀態信息:
也可以查看spring bean的情況:
同樣也可以查看並動態設置日誌的等級:
還有跟多其他的操作,自己探索吧。
參考資料
http://codecentric.github.io/spring-boot-admin/2.1.0/
https://github.com/codecentric/spring-boot-admin