SpringBoot要點之使用Actuator監控


Actuator是Springboot提供的用來對應用系統進行自省和監控的功能模塊,借助於Actuator開發者可以很方便地對應用系統某些監控指標進行查看、統計等。
在pom文件中加入 spring-boot-starter-actuator依賴如下:
  1. <dependency>
  2. <groupId>org.springframework.boot </groupId>
  3. <artifactId>spring-boot-starter-actuator </artifactId>
  4. </dependency>


  5. Actuator提供的主要監控項。 


/autoconfig用來查看自動配置的使用情況,包括:哪些被應用、哪些未被應用以及它們未被應用的原因、哪些被排除。 

/configprops可以顯示一個所有@ConfigurationProperties的整理列表。

/beans可以顯示Spring容器中管理的所有Bean的信息。 

/dump用來查看應用所啟動的所有線程,每個線程的監控內容如下圖所示。 

/env用來查看整個應用的配置信息,使用/env/[name]可以查看具體的配置項。 

/health用來查看整個應用的健康狀態,包括磁盤空間使用情況、數據庫和緩存等的一些健康指標。 

此外,Springboot還允許用戶自定義健康指標,只需要定義一個類實現HealthIndicator接口,並將其納入到Spring容器的管理之中。  


   
   
   
           


  1. @Component


  2. public class MyHealthIndicator implements HealthIndicator{




  3. @Override


  4. public Health health() {


  5. return Health.down().withDetail( "error", "spring boot error").build();


  6. }




  7. }

/info可以顯示配置文件中所有以info.開頭或與Git相關的一些配置項的配置信息。

/mappings用來查看整個應用的URL地址映射信息。  

/metrics用來查看一些監控的基本指標,也可以使用/metrics/[name]查看具體的指標。 

/shutdown是一個POST請求,用來關閉應用,由於操作比較敏感,默認情況下該請求是被禁止的,若要開啟需在配置文件中添加以下配置:  

endpoints.shutdown.enabled: true

/trace用來監控所有請求的追蹤信息,包括:請求時間、請求頭、響應頭、響應耗時等信息。 

Actuator監控管理

打開或關閉

Actuator監控的所有項目都定義在spring-boot-actuator-x.x.x.RELEASE.jar的org.springframework.boot.actuate.endpoint包中,包含以下Endpoint。 

這些Endpoint都繼承自AbstractEndpoint,AbstractEndpoint中定義了兩個重要的屬性:enabled和sensitive。

其中,enabled用來打開或關閉該監控項,語法為:endpoints.[endpoint_name].enabled=false/true,以關閉/autoconfig監控項為例,其配置如下。 

endpoints.autoconfig.enabled=false

sensitive用來配置該監控項是否屬於敏感信息,訪問敏感信息需要用戶具有ACTUATOR角色權限,或者使用以下配置關閉安全限制。  

management.security.enabled=false

端口與地址

除了使用與應用相同的端口訪問監控地址外,我們還可以在配置文件中增加 management.port 配置項來自己指定監控的請求端口。 

management.port=9090

還可以通過 management.address 配置項來指定可以請求監控的IP地址,比如只能通過本機監控,可以設置 management.address = 127.0.0.1 。  


免責聲明!

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



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