Springboot集成Actuator監(jiān)控功能詳解
前言
有時候我們想要實時監(jiān)控我們的應(yīng)用程序的運(yùn)行狀態(tài),比如實時顯示一些指標(biāo)數(shù)據(jù),觀察每時每刻訪問的流量,或者是我們數(shù)據(jù)庫的訪問狀態(tài)等等。這時候就需要 Actuator 了。
使用Actuator的好處是,我們可以直接使用這個生產(chǎn)級別的工具,而不需要自己去實現(xiàn)這些東西。Actuator可以自動幫我們自動暴露出這些信息,使用HTTP或者是JMX beans的方式實現(xiàn)。最主要的是我們直接在properties文件中配置即可。
下面看看如何實現(xiàn):
代碼實現(xiàn)
創(chuàng)建一個springboot項目,我使用的是Springboot2.4的版本。
第一步:添加依賴
<!--監(jiān)控依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>依賴就這么簡單。
第二步:配置
#改變應(yīng)用程序的端口 server.port=8081 #1、actuator默認(rèn)只開啟了info和health兩個端點 #以下配置可以開啟所有的端點: management.endpoints.web.exposure.include= * #2、開啟健康監(jiān)控數(shù)據(jù) management.endpoint.health.show-details=always #3、啟用httptrace端點 management.endpoint.httptrace.enabled=true #4、每次都要加個actuator前綴太麻煩,改變端點前綴路徑 management.endpoints.web.base-path= /
這么增加了幾個配置。
現(xiàn)在我們直接訪問就可以了。
第三步:直接訪問
由于在前面我們配置了自己的base-path。所以不需要增加actuator的前綴?,F(xiàn)在訪問:
//localhost:8081/mappings

我們訪問就會出現(xiàn)這樣的畫面,看著有點難看,不過有了這些信息,還可以格式化顯示,目前也有很多開源的項目可以自動實現(xiàn)。
其他的端口如下:可以把上面的地址的mappings改變一下就可以了。
| EndPoints | 描述 |
| auditevents | 公開當(dāng)前應(yīng)用程序的審核事件信息。 |
| beans | 顯示應(yīng)用程序中所有Spring bean的完整列表。 |
| caches | 暴露可用的緩存。 |
| conditions | 顯示在配置和自動配置類上評估的條件以及它們匹配或不匹配的原因。 |
| configprops | 顯示所有的整理列表@ConfigurationProperties,查看配置屬性,包括默認(rèn)配置 |
| env | 露出Spring的屬性的各種環(huán)境變量,后面可跟/{name}查看具體的值 |
| flyway | 顯示已應(yīng)用的任何Flyway數(shù)據(jù)庫遷移。 |
| health | 顯示應(yīng)用健康信息,2.0以后需要在配置里show-details打開k開關(guān) |
| httptrace | 顯示HTTP跟蹤信息,2.0以后需要手動打開 |
| info | 顯示任意應(yīng)用信息,是在配置文件里自己定義的 |
| integrationgraph | 顯示Spring Integration圖。 |
| loggers | 顯示和修改應(yīng)用程序中記錄器的配置。 |
| liquibase | 顯示已應(yīng)用的任何Liquibase數(shù)據(jù)庫遷移。 |
| metrics | 顯示指標(biāo)信息,比如內(nèi)存用量和HTTP請求計數(shù),后可跟/{name}查看具體值 |
| mappings | 顯示所有@RequestMapping路徑的整理列表。 |
| scheduledtasks | 顯示應(yīng)用程序中的計劃任務(wù)。 |
| sessions | 允許從Spring Session支持的會話存儲中檢索和刪除用戶會話。 |
| shutdown | 允許應(yīng)用程序正常關(guān)閉。 |
| threaddump | 執(zhí)行線程轉(zhuǎn)儲。 |
OK?;旧鲜沁@樣。
為Actuator添加安全驗證
比如我們的Actuator的端口不想被無關(guān)人員看到,于是就可以配置Spring security添加登錄。
方式如下:
第一步:添加依賴
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-security</artifactId>
</dependency>第二步:在properties文件中添加配置
#5、端口信息被別人看到了咋辦,可以添加個security spring.security.user.name= fdd spring.security.user.password= 123456 spring.security.user.roles= ADMIN
這里設(shè)置的用戶面是fdd,密碼123456,角色是ADMIN。
第三步:重新訪問上面的端口地址

重新訪問相關(guān)端口地址,就會被重定向到登錄頁面。使用配置好的用戶名密碼登錄即可。
OK,這個比較簡單。
到此這篇關(guān)于Springboot集成Actuator監(jiān)控功能詳解的文章就介紹到這了,更多相關(guān)Springboot的Actuator監(jiān)控內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Spring?Boot?+?Canal?實現(xiàn)數(shù)據(jù)庫實時監(jiān)控
這篇文章主要介紹了Spring?Boot?+?Canal實現(xiàn)數(shù)據(jù)庫實時監(jiān)控,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下2022-08-08
Java ArrayList與LinkedList使用方法詳解
Java中容器對象主要用來存儲其他對象,根據(jù)實現(xiàn)原理不同,主要有3類常用的容器對象:ArrayList使用數(shù)組結(jié)構(gòu)存儲容器中的元素、LinkedList使用鏈表結(jié)構(gòu)存儲容器中的元素2022-11-11
Java中通過ZipOutputStream類如何將多個文件打成zip
ZipOutputStream?是Java中用于創(chuàng)建ZIP文件的類,它是?java.util.zip?包中的一部分,通過使用?ZipOutputStream?,可以將多個文件壓縮到一個ZIP文件中,這篇文章主要介紹了Java中(ZipOutputStream)如何將多個文件打成zip,需要的朋友可以參考下2023-09-09
解決Intellij IDEA運(yùn)行報Command line is too long的問題
這篇文章主要介紹了解決Intellij IDEA運(yùn)行報Command line is too long的問題,本文通過兩種方案給大家詳細(xì)介紹,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-05-05
詳解SpringBoot中添加@ResponseBody注解會發(fā)生什么
這篇文章主要介紹了詳解SpringBoot中添加@ResponseBody注解會發(fā)生什么,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
spring AOP代理執(zhí)行@EnableAspectJAutoProxy的exposeProxy屬性詳解
這篇文章主要為大家介紹了spring AOP代理執(zhí)行@EnableAspectJAutoProxy的exposeProxy屬性詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
SpringMVC Restful api接口實現(xiàn)的代碼
本篇文章主要介紹了SpringMVC Restful api接口實現(xiàn)的代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-09-09
詳解java數(shù)組進(jìn)行翻轉(zhuǎn)的方法有哪些
這篇文章主要介紹了詳解java數(shù)組進(jìn)行翻轉(zhuǎn)的方法有哪些,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-01-01

