使用 Spring Boot Admin 監(jiān)控應(yīng)用(隨記)

前言

生產(chǎn)上對 Web 應(yīng)用 的監(jiān)控是十分必要的。
對于 Spring Boot 應(yīng)用來說我們可以通過一個輕量級的監(jiān)控工具 Spring Boot Admin (SBA) 來進(jìn)行監(jiān)控。

Spring Boot Admin 功能

  • 顯示健康狀況,顯示應(yīng)用度量指標(biāo)詳情,例如
    • JVM和內(nèi)存指標(biāo)
    • micrometer度量
    • 數(shù)據(jù)源指標(biāo)
    • 緩存指標(biāo)
  • 顯示構(gòu)建信息編號
  • 關(guān)注并下載日志文件
  • 下載 heapdump
  • 查看jvm系統(tǒng)和環(huán)境屬性
  • 查看 Spring Boot 配置屬性
  • 支持 Spring Cloud 的環(huán)境端點和刷新端點 ``
  • 支持 K8s 易用的日志級別管理
  • JMX-beans交互
  • 查看線程轉(zhuǎn)儲
  • 查看http跟蹤
  • 查看auditevents
  • 查看http-endpoints
  • 查看計劃任務(wù)
  • 查看和刪除活動會話(使用 Spring Session
  • 查看Flyway/Liquibase數(shù)據(jù)庫遷移
  • 狀態(tài)變更通知(通過電子郵件,Slack,Hipchat等,支持釘釘)
  • 狀態(tài)更改的事件日志(非持久化)

創(chuàng)建admin-server模塊

  • 在pom.xml中添加相關(guān)依賴:
<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>
</dependency>
  • 在application.yml中進(jìn)行配置:
spring:
  application:
    name: admin-server
server:
  port: 9301
  • 在啟動類上添加@EnableAdminServer來啟用admin-server功能:
@EnableAdminServer
@SpringBootApplication
public class AdminServerApplication {
    public static void main(String[] args) {
        SpringApplication.run(AdminServerApplication.class, args);
    }
}

創(chuàng)建admin-client模塊

*在pom.xml中添加相關(guān)依賴:

<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>
</dependency>
  • 在application.yml中進(jìn)行配置:
spring:
  application:
    name: admin-client
  boot:
    admin:
      client:
        url: http://localhost:9301 #配置admin-server地址
server:
  port: 9305
management:
  endpoints:
    web:
      exposure:
        include: '*'
  endpoint:
    health:
      show-details: always
logging:
  file: admin-client.log #添加開啟admin的日志監(jiān)控
  • 啟動admin-server和admin-client服務(wù)。

監(jiān)控信息演示

  • 訪問如下地址打開Spring Boot Admin的主頁:http://localhost:9301

    image.png

  • 點擊wallboard按鈕,選擇admin-client查看監(jiān)控信息;

  • 監(jiān)控信息概覽;


    image.png
  • 度量指標(biāo)信息,比如JVM、Tomcat及進(jìn)程信息;


    image.png
  • 環(huán)境變量信息,比如系統(tǒng)屬性、系統(tǒng)環(huán)境變量以及應(yīng)用配置信息;


    image.png
  • 查看所有創(chuàng)建的Bean信息;


    image.png
  • 查看應(yīng)用中的所有配置信息;


    image.png
  • 查看日志信息,需要添加以下配置才能開啟;

logging:
  file: admin-client.log #添加開啟admin的日志監(jiān)控
image.png
  • 查看JVM信息;


    image.png
  • 查看可以訪問的Web端點;


    image.png
  • 查看HTTP跟蹤信息;


    image.png

結(jié)合注冊中心使用

Spring Boot Admin結(jié)合Spring Cloud 注冊中心使用,只需將admin-server和注冊中心整合即可,admin-server 會自動從注冊中心獲取服務(wù)列表,然后挨個獲取監(jiān)控信息。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容