前言
有時候我們想要實時監控我們的應用程式的執行狀態,比如實時顯示一些指標資料,觀察每時每刻訪問的流量,或者是我們資料庫的訪問狀態等等。這時候就需要Actuator了。
使用Actuator的好處是,我們可以直接使用這個生產級別的工具,而不需要自己去實現這些東西。Actuator可以自動幫我們自動暴露出這些資訊,使用HTTP或者是JMX beans的方式實現。最主要的是我們直接在properties檔案中配置即可。
下面看看如何實現:
程式碼實現建立一個springboot專案,我使用的是Springboot2.4的版本。
第二步:配置#改變應用程式的埠server.port=8081#1、actuator預設只開啟了info和health兩個端點#以下配置可以開啟所有的端點:management.endpoints.web.exposure.include= *#2、開啟健康監控資料management.endpoint.health.show-details=always#3、啟用httptrace端點management.endpoint.httptrace.enabled=true#4、每次都要加個actuator字首太麻煩,改變端點字首路徑management.endpoints.web.base-path= /
這麼增加了幾個配置。
現在我們直接訪問就可以了。
第三步:直接訪問由於在前面我們配置了自己的base-path。所以不需要增加actuator的字首。現在訪問:
http://localhost:8081/mappings
我們訪問就會出現這樣的畫面,看著有點難看,不過有了這些資訊,還可以格式化顯示,目前也有很多開源的專案可以自動實現。
其他的埠如下:可以把上面的地址的mappings改變一下就可以了。
OK。基本上是這樣。
為Actuator新增安全驗證比如我們的Actuator的埠不想被無關人員看到,於是就可以配置Spring security新增登入。方式如下:
第一步:新增依賴<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId></dependency>
第二步:在properties檔案中新增配置
#5、埠資訊被別人看到了咋辦,可以添加個securityspring.security.user.name= fddspring.security.user.password= 123456spring.security.user.roles= ADMIN
這裡設定的使用者面是fdd,密碼123456,角色是ADMIN。
第三步:重新訪問上面的埠地址重新訪問相關埠地址,就會被重定向到登入頁面。使用配置好的使用者名稱密碼登入即可。
OK,這個比較簡單。