Spring Boot 監控之 Admin攻略

關注公衆號:壹家大數據   

源碼下載,後臺回覆: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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章