Spring Boot 使用actuator監控與管理


微服務架構下,龐大的系統拆分成多個獨立的系統,應用部署的的數量增加,維護的復雜性增加,為了高效的運維,需要一套自動化的監控運維機制,為了使運維系統獲取各微服務應用的相關指標,spring boot提供spring-boot-starter-actuator模塊,提供一系列監控的端點.

入門demo:

  環境:springboot版本:2.1.3.RELEASE

  在spring boot工程的基礎上添加依賴

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

 啟動訪問:http://localhost/actuator/health

 

spring-boot-starter-actuator提供多個默認端點,可以啟用或禁用每個端點。要遠程訪問端點,還必須通過JMX或HTTP公開端點。大多數應用程序選擇HTTP,其中端點的ID加上/actuator的前綴映射到URL,例如上面,顯示應用程序健康信息的URL./actuator/health.提供的端點有:

ID Description web默認是否開啟
auditevents 為當前應用程序公開審計事件信息 No
beans 顯示應用程序中所有Spring bean的完整列表 No
caches 公開可用的緩存 No
conditions 顯示在配置和自動配置類上評估的條件,以及它們匹配或不匹配的原因 No
configprops 顯示所有已整理的@ConfigurationProperties修飾的列表 No
env Spring的ConfigurableEnvironment公開屬性 No
health 顯示應用程序健康信息 Yes
heapdump 生成堆信息文件 No
httptrace 顯示HTTP跟蹤信息(默認情況下,最后100個HTTP請求-響應交換) No
info 顯示應用程序信息 Yes
metrics 顯示當前應用程序的“度量”信息 No
mappings 顯示所有@RequestMapping路徑的列表 No
scheduledtasks 顯示應用程序中的計划任務 No
threaddump 執行線程轉儲 No

由於端點可能包含敏感信息,因此應該仔細考慮何時公開它們,默認情況下web下只公開info, health兩個端點,可以通過application.properties配置控制

management.endpoints.web.exposure.include=*
management.endpoints.web.exposure.exclude=env,beans

如上:management.endpoints.web.exposure.include=*  代表公開使用端點

  management.endpoints.web.exposure.exclude=env,beans 標示排除env,beans倆端點

當兩個配置出現沖突時,management.endpoints.web.exposure.exclude的優先級更高,即spring boot會公開除了env,beans的所有端點

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM