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

前言

生產(chǎn)上對(duì) Web 應(yīng)用 的監(jiān)控是十分必要的。
對(duì)于 Spring Boot 應(yīng)用來(lái)說(shuō)我們可以通過(guò)一個(gè)輕量級(jí)的監(jiān)控工具 Spring Boot Admin (SBA) 來(lái)進(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)建信息編號(hào)
  • 關(guān)注并下載日志文件
  • 下載 heapdump
  • 查看jvm系統(tǒng)和環(huán)境屬性
  • 查看 Spring Boot 配置屬性
  • 支持 Spring Cloud 的環(huán)境端點(diǎn)和刷新端點(diǎn) ``
  • 支持 K8s 易用的日志級(jí)別管理
  • JMX-beans交互
  • 查看線程轉(zhuǎn)儲(chǔ)
  • 查看http跟蹤
  • 查看auditevents
  • 查看http-endpoints
  • 查看計(jì)劃任務(wù)
  • 查看和刪除活動(dòng)會(huì)話(使用 Spring Session
  • 查看Flyway/Liquibase數(shù)據(jù)庫(kù)遷移
  • 狀態(tài)變更通知(通過(guò)電子郵件,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
  • 在啟動(dòng)類上添加@EnableAdminServer來(lái)啟用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 #添加開(kāi)啟admin的日志監(jiān)控
  • 啟動(dòng)admin-server和admin-client服務(wù)。

監(jiān)控信息演示

  • 訪問(wèn)如下地址打開(kāi)Spring Boot Admin的主頁(yè):http://localhost:9301

    image.png

  • 點(diǎn)擊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
  • 查看日志信息,需要添加以下配置才能開(kāi)啟;

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


    image.png
  • 查看可以訪問(wèn)的Web端點(diǎn);


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


    image.png

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

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

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

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