Actuator是Spring Boot提供的對應用系統的自省和監控的整合功能,可以對應用系統進行配置檢視、相關功能統計等。
使用Actuator
引入依賴即可
Maven
:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
複製程式碼
Gradle
:
compile('org.springframework.boot:spring-boot-starter-actuator')
複製程式碼
Endpoints
列舉一些主要的endpoints
配置檔案屬性介紹
地址和埠的配置
management.port
:指定訪問這些監控方法的埠,與邏輯介面埠分離。如果不想將這些暴露在http中,可以設定 management.port = -1management.address
:指定地址,比如只能通過本機監控,可以設定 management.address = 127.0.0.1
敏感資訊訪問限制
根據上面表格,鑑權為false
的,表示不敏感,可以隨意訪問,否則就是做了一些保護,不能隨意訪問。
endpoints.mappings.sensitive=false
這樣需要對每一個都設定,比較麻煩。敏感方法預設是需要使用者擁有ACTUATOR
角色,因此,也可以設定關閉安全限制:
management.security.enabled=false
或者配合Spring Security
做細粒度控制。
自定義系統資訊
可以通過訪問/info
獲取資訊,需要在配置檔案設定
info:
aaa:
name: xxx
email: xxx@qq.com
bbb:
age: 25
hobbies: running
build:
artifact: "@project.artifactId@"
name: "@project.name@"
version: "@project.version@"
複製程式碼
此時訪問localhost:8080/info返回一下資訊
如果使用maven
,可以訪問pom.xml檔案的資訊,用法如下:
// 獲取pom.xml中project節點下artifactId屬性 artifact: "@project.artifactId@"
其他
/shutdown
這個需要post方式,通過請求來關閉應用。
這個操作比較敏感,要想真正生效,需要以下配置:
endpoints.shutdown.enabled: true
- 我們可以通過實現
HealthIndicator
介面,編寫自己的/health
方法邏輯。也可以增加自定義監控方法。 - 檢視詳細介紹,請移步 官方文件