1、Actuator
Actuator主要是完成微服務的監控,完成監控治理。可以查看微服務間的數據處理和調用,當它們之間出現了異常,就可以快速定位到出現問題的地方。
2、使用
在 pom.xml
文件中加入 actuator 的依賴:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
配置發生了變化
需要注意的是 Spring Boot 2.0 相對于1.x版本, Actuator 發生很多變化,
舊的屬性 | 新的屬性 |
---|---|
endpoints.<id>.* |
management.endpoint.<id>.* |
endpoints.cors.* |
management.endpoints.web.cors.* |
endpoints.jmx.* |
management.endpoints.jmx.* |
management.address |
management.server.address |
management.context-path |
management.server.servlet.context-path |
management.ssl.* |
management.server.ssl.* |
management.port |
management.server.port |
所有 endpoints 默認情況下都已移至
/actuator
。-
上個版本中的
management/context-path:
和management/port:
改為 :management: server: port: 8101 servlet: # 只有在設置了 management.server.port 時才有效 context-path: /xxx
另外,您還可以使用新的單獨屬性
management.endpoints.web.base-path
為管理端點設置基本路徑。如果你想使用 1.x 的路徑配置,設置屬性:
management.endpoints.web.base-path=/
springboot 1.X 的屬性:
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頭等) |
2.0 部分更改:
1.x 端點 | 2.0 端點(改變) |
---|---|
/actuator |
不再可用。 但是,在 management.endpoints.web.base-path 的根目錄中有一個映射,它提供了到所有暴露端點的鏈接。 |
/auditevents |
該after 參數不再需要 |
/autoconfig |
重命名為 /conditions
|
/docs |
不再可用 |
/health |
現在有一個 management.endpoint.health.show-details 選項 never , always , when-authenticated ,而不是依靠 sensitive 標志來確定 health 端點是否必須顯示全部細節。 默認情況下,/actuator/health 公開并且不顯示細節。 |
/trace |
重命名為 /httptrace
|
默認端點 path 前面多了一級 /actuator
。
需要注意的是只有端點/health
和/info
是默認暴露的。
Property | Default |
---|---|
management.endpoints.jmx.exposure.exclude |
|
management.endpoints.jmx.exposure.include |
* |
management.endpoints.web.exposure.exclude |
|
management.endpoints.web.exposure.include |
info, health |
1. 公開所有端點:
management:
endpoints:
web:
exposure:
include: "*"
2. 啟用/shutdown
端點:
management:
endpoints:
shutdown:
enabled: true
3. 公開所有(已啟用)網絡端點除env
端點之外:
management:
endpoints:
web:
exposure:
include: "*"
exclude: env