1. 程式人生 > 其它 >Spring Boot Actuator: 生產就緒功能

Spring Boot Actuator: 生產就緒功能

Spring Boot Actuator:生產就緒功能

Spring Boot 包含許多其他功能,可幫助你在將應用程式推送到生產環境時監控和管理應用程式。你可以選擇使用 HTTP 端點或 JMX 來管理和監控應用程式。審計、健康和指標收集也可以自動應用於你的應用程式。

1.1 啟用生產就緒功能

pring-boot-actuator 模組提供了 Spring Boot 的所有生產就緒功能。啟用這些功能的最簡單方法是新增 spring-boot-starter-actuator starter 到依賴中。

要將 actuator 新增到基於 Maven 的專案,請新增以下 starter 依賴項:

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

1.2 端點

通過 Actuator 端點,你可以監控應用程式並與之互動。Spring Boot 包含許多內建端點,也允許你新增自己的端點。例如,health 端點提供基本的應用程式健康資訊。

可以啟用或禁用每個端點。它可控制當其 bean 存在於應用程式上下文中是否建立端點。要進行遠端訪問,必須通過 JMX 或 HTTP 暴露端點。大多數應用程式選擇 HTTP 方式,端點的 ID 以及 /actuator 的字首對映到一個 URL。例如,預設情況下,health 端點對映到 /actuator/health。

可以使用以下與技術無關的端點:

ID 描述
auditevents 暴露當前應用程式的審計事件資訊。
beans 顯示應用程式中所有 Spring bean 的完整列表。
caches 暴露可用的快取。
conditions 顯示在配置和自動配置類上評估的條件以及它們匹配或不匹配的原因。
configprops 顯示所有 @ConfigurationProperties 的校對清單。
env 露 Spring ConfigurableEnvironment 中的屬性。
flyway 顯示已應用的 Flyway 資料庫遷移。
health 顯示應用程式健康資訊
httptrace 顯示 HTTP 追蹤資訊(預設情況下,最後 100 個 HTTP 請求/響應交換)。
info 顯示應用程式資訊。
integrationgraph 顯示 Spring Integration 圖。
loggers 顯示和修改應用程式中日誌記錄器的配置。
liquibase 顯示已應用的 Liquibase 資料庫遷移。
metrics 顯示當前應用程式的指標度量資訊。
mappings 顯示所有 @RequestMapping 路徑的整理清單。
scheduledtasks 顯示應用程式中的排程任務。
sessions 允許從 Spring Session 支援的會話儲存中檢索和刪除使用者會話。當使用 Spring Session 的響應式 Web 應用程式支援時不可用。
shutdown 正常關閉應用程式。
threaddump 執行執行緒 dump。

如果你的應用程式是 Web 應用程式(Spring MVC、Spring WebFlux 或 Jersey),則可以使用以下附加端點:

ID 描述
heapdump 返回一個 hprof 堆 dump 檔案。
jolokia 通過 HTTP 暴露 JMX bean(當 Jolokia 在 classpath 上時,不適用於 WebFlux)
logfile 返回日誌檔案的內容(如果已設定 logging.file 或 logging.path 屬性)。支援使用 HTTP Range 頭來檢索部分日誌檔案的內容。
prometheus 以可以由 Prometheus 伺服器抓取的格式暴露指標。