Spring Boot 包含許多附加功能,可幫助您在將應用程序投入生產時監視和管理應用程序。 可以選擇使用 HTTP 端點或 JMX 來管理和監控您的應用程序,自動應用於審計,健康和指標收集。
一句話:Spring Boot 提供用於監控和管理生產環境的模塊—— Actuator
官方文檔:https://docs.spring.io/spring-boot/docs/2.1.0.BUILD-SNAPSHOT/reference/htmlsingle/#production-ready
我們需要加入依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
加入上述依賴后,訪問幾個 url:
http://localhost:8080/actuator
http://localhost:8080/actuator/health
注意:Spring Boot 新舊版本訪問地址區別:端點基礎路徑由 / 調整到 /actuator 。如:/info 調整為 /actuator/info
Actuator 模塊提供了一些 url,通過這些 url 可以查看生產環境信息,可以通過 /actuator 查看
當然不止這些,上圖所示只是默認提供的 url(出於安全考慮,除/ health 和 / info 之外的所有執行器默認都是禁用的),可通過配置文件來配置哪些地址可以訪問
在配置文件中添加如下配置:
#表示開放所有
management.endpoints.web.exposure.include=*
建議:在設置 management.endpoints.web.exposure.include 之前,請確保暴露的執行器不包含敏感信息獲取;或者將禁用的端點將從應用程序上下文中完全刪除;或者通過將其放置在防火牆進行控制,不對外進行使用;或者用 Spring Boot Admin 進行管理;或者用自己編寫腳本監控。
Spring Boot Admin 相關資料:https://www.cnblogs.com/ityouknow/p/8440455.html
如果您只想更改端點所暴露的技術,請改用 include 和 exclude 屬性 。示例如下:
#開啟全部:
management.endpoints.web.exposure.include=*
#開啟某個:
management.endpoints.web.exposure.include=metrics
#關閉某個:
management.endpoints.web.exposure.exclude=metrics
介紹常用的幾個
1)/health 查看應用健康指標
2)/actuator/metrics 查看應用基本指標列表
3)/actuator/metrics/{name} 通過上述列表,查看具體指標
4)/actuator/env 顯示來自 Spring 的 ConfigurableEnvironment 的屬性