天天看點

springboot(十五) 使用spring-boot-admin對spring-boot服務監控

目錄

    • 背景
    • 什麼是Spring Boot Admin?
    • 監控單體應用
    • Admin Server端
            • --項目依賴
            • --配置檔案
            • --啟動類
    • Admin Client端
            • --項目依賴
            • --配置檔案
            • --啟動類

背景

–SpringBootActuator提供了對單個Spring Boot的監控,資訊包含:應用狀态、記憶體、線程、堆棧等等,比較全面的監控了SpringBoot應用的整個生命周期。

–但是這樣監控也有一些問題,第一,所有的監控都需要調用固定的接口來檢視,如果全面檢視應用狀态需要調用很多接口,并且接口傳回的json資訊不友善營運人員了解,第二,如果SpringBoot應用叢集非常大,每個應用需要調用不同的接口來檢視監控資訊,操作非常繁瑣低效,在這樣的北京下,誕生了另一個開源軟體: SprimgBootAdmin

什麼是Spring Boot Admin?

–Spring Boot Admin 是一個管理和監控Spring Boot應用程式的開源軟體,每個應用都認為是一個用戶端,通過HTTP或者使用Eureka注冊到admin server中進行展示,Spring Boot Admin UI部分使用AngularJs将資料展示在前端.

–Spring Boot Admin 是一個針對Spring-boot的actuator接口進行UI美化封裝的監控工具,他可以,在清單中浏覽所有被監控spring-boot項目的基本資訊,詳細的Health資訊、記憶體資訊、JVM資訊、垃圾回收資訊、各種配置資訊( 比如資料源、緩存清單和命中率等),還可以直接修改logger的level

監控單體應用

這裡将給大家展示如何使用Spring Boot Admin監控單個Spring Boot 應用

Admin Server端

–項目依賴

<dependencies>
  <dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server</artifactId>
    <version>1.5.6</version>
  </dependency>
  <dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-server-ui</artifactId>
    <version>1.5.6</version>
  </dependency>
</dependencies>
           

–配置檔案

server.port=8000
           

–啟動類

@Configuration
@EnableAutoConfiguration
@EnableAdminServer
public class AdminServerApplication {

  public static void main(String[] args) {
    SpringApplication.run(AdminServerApplication.class, args);
  }
}
           

完成上面三步走之後,啟動服務端,浏覽器通路

http://localhost:8000

springboot(十五) 使用spring-boot-admin對spring-boot服務監控

Admin Client端

–項目依賴

<dependencies>
  <dependency>
    <groupId>de.codecentric</groupId>
    <artifactId>spring-boot-admin-starter-client</artifactId>
    <version>1.5.6</version>
  </dependency>
</dependencies>
           

–配置檔案

server.port=8001

spring.boot.admin.url=http://localhost:8000  
management.security.enabled=false 
           
  • –spring.boot.admin.url 配置Admin Server的位址
  • –management.security.enabled=false 關閉安全驗證

–啟動類

@SpringBootApplication
public class AdminClientApplication {
  public static void main(String[] args) {
    SpringApplication.run(AdminClientApplication.class, args);
  }
}
           

–配置完成之後,啟動Client端服務,再次通路服務:

http://localhost:8000

可以看到用戶端的相關資訊。

springboot(十五) 使用spring-boot-admin對spring-boot服務監控
springboot(十五) 使用spring-boot-admin對spring-boot服務監控

繼續閱讀