Spring Boot Actuator的關鍵特性是在應用程序里提供眾多Web端點,通過它們了解應用程序 運行時的內部狀況。有了Actuator,你可以知道Bean在Spring應用程序上下文里是如何組裝在一起的,掌握應用程序可以獲取的環境屬性信息,獲取運行時度量信息的快照……
Actuator提供13個端點,可以分為三大類:配置端點、度量端點和其他端點。具體如下表所示:
Http方法 | 路徑 | 描述 |
---|---|---|
get | /autoconfig | 提供了一份自動配置報告,記錄哪些自動配置條件通過了,哪些沒通過 |
get | /configprops | 描述配置屬性(包含默認值)如何注入Bean |
get | /beans | 描述應用程序上下文里全部的Bean,以及它們的關系 |
get | /dump | 獲取線程活動的快照 |
get | /env | 獲取全部環境屬性 |
get | /env/{name} | 根據名稱獲取特定的環境屬性值 |
get | /health | 報告應用程序的健康指標,這些值由 HealthIndicator 的實現類提供 |
get | /info | 獲取應用程序的定制信息,這些信息由 info 打頭的屬性提供 |
get | /mappings | 描述全部的URI路徑,以及它們和控制器(包含Actuator端點)的映射關系 |
get | /metrics | 報告各種應用程序度量信息,比如內存用量和HTTP請求計數 |
get | /metrics/{name} | 報告指定名稱的應用程序度量值 |
post | /shutdown | 關閉應用程序,要求 endpoints.shutdown.enabled 設置為 true |
get | /trace | 提供基本的HTTP請求跟蹤信息(時間戳、HTTP頭等) |
要啟用Actuator的端點,只需在項目中引入Actuator的起步依賴即可。
在Gradle構建說明文件里,這個依賴是這樣的:
compile 'org.springframework.boot:spring-boot-starter-actuator'
對於Maven項目,引入的依賴是這樣的:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
亦或你使用Spring Boot CLI,可以使用如下 @Grab 注解:
@Grab('spring-boot-starter-actuator')