Springboot集成Actuator監(jiān)控功能詳解
前言
有時(shí)候我們想要實(shí)時(shí)監(jiān)控我們的應(yīng)用程序的運(yùn)行狀態(tài),比如實(shí)時(shí)顯示一些指標(biāo)數(shù)據(jù),觀察每時(shí)每刻訪問(wèn)的流量,或者是我們數(shù)據(jù)庫(kù)的訪問(wèn)狀態(tài)等等。這時(shí)候就需要 Actuator
了。
使用Actuator的好處是,我們可以直接使用這個(gè)生產(chǎn)級(jí)別的工具,而不需要自己去實(shí)現(xiàn)這些東西。Actuator可以自動(dòng)幫我們自動(dòng)暴露出這些信息,使用HTTP或者是JMX beans的方式實(shí)現(xiàn)。最主要的是我們直接在properties文件中配置即可。
下面看看如何實(shí)現(xiàn):
代碼實(shí)現(xiàn)
創(chuàng)建一個(gè)springboot項(xiàng)目,我使用的是Springboot2.4的版本。
第一步:添加依賴
<!--監(jiān)控依賴--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
依賴就這么簡(jiǎn)單。
第二步:配置
#改變應(yīng)用程序的端口 server.port=8081 #1、actuator默認(rèn)只開啟了info和health兩個(gè)端點(diǎn) #以下配置可以開啟所有的端點(diǎn): management.endpoints.web.exposure.include= * #2、開啟健康監(jiān)控?cái)?shù)據(jù) management.endpoint.health.show-details=always #3、啟用httptrace端點(diǎn) management.endpoint.httptrace.enabled=true #4、每次都要加個(gè)actuator前綴太麻煩,改變端點(diǎn)前綴路徑 management.endpoints.web.base-path= /
這么增加了幾個(gè)配置。
現(xiàn)在我們直接訪問(wèn)就可以了。
第三步:直接訪問(wèn)
由于在前面我們配置了自己的base-path。所以不需要增加actuator的前綴?,F(xiàn)在訪問(wèn):
//localhost:8081/mappings
我們?cè)L問(wèn)就會(huì)出現(xiàn)這樣的畫面,看著有點(diǎn)難看,不過(guò)有了這些信息,還可以格式化顯示,目前也有很多開源的項(xiàng)目可以自動(dòng)實(shí)現(xiàn)。
其他的端口如下:可以把上面的地址的mappings改變一下就可以了。
EndPoints | 描述 |
auditevents | 公開當(dāng)前應(yīng)用程序的審核事件信息。 |
beans | 顯示應(yīng)用程序中所有Spring bean的完整列表。 |
caches | 暴露可用的緩存。 |
conditions | 顯示在配置和自動(dòng)配置類上評(píng)估的條件以及它們匹配或不匹配的原因。 |
configprops | 顯示所有的整理列表@ConfigurationProperties,查看配置屬性,包括默認(rèn)配置 |
env | 露出Spring的屬性的各種環(huán)境變量,后面可跟/{name}查看具體的值 |
flyway | 顯示已應(yīng)用的任何Flyway數(shù)據(jù)庫(kù)遷移。 |
health | 顯示應(yīng)用健康信息,2.0以后需要在配置里show-details打開k開關(guān) |
httptrace | 顯示HTTP跟蹤信息,2.0以后需要手動(dòng)打開 |
info | 顯示任意應(yīng)用信息,是在配置文件里自己定義的 |
integrationgraph | 顯示Spring Integration圖。 |
loggers | 顯示和修改應(yīng)用程序中記錄器的配置。 |
liquibase | 顯示已應(yīng)用的任何Liquibase數(shù)據(jù)庫(kù)遷移。 |
metrics | 顯示指標(biāo)信息,比如內(nèi)存用量和HTTP請(qǐng)求計(jì)數(shù),后可跟/{name}查看具體值 |
mappings | 顯示所有@RequestMapping路徑的整理列表。 |
scheduledtasks | 顯示應(yīng)用程序中的計(jì)劃任務(wù)。 |
sessions | 允許從Spring Session支持的會(huì)話存儲(chǔ)中檢索和刪除用戶會(huì)話。 |
shutdown | 允許應(yīng)用程序正常關(guān)閉。 |
threaddump | 執(zhí)行線程轉(zhuǎn)儲(chǔ)。 |
OK?;旧鲜沁@樣。
為Actuator添加安全驗(yàn)證
比如我們的Actuator的端口不想被無(wú)關(guān)人員看到,于是就可以配置Spring security添加登錄。
方式如下:
第一步:添加依賴
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-security</artifactId> </dependency>
第二步:在properties文件中添加配置
#5、端口信息被別人看到了咋辦,可以添加個(gè)security spring.security.user.name= fdd spring.security.user.password= 123456 spring.security.user.roles= ADMIN
這里設(shè)置的用戶面是fdd,密碼123456,角色是ADMIN。
第三步:重新訪問(wèn)上面的端口地址
重新訪問(wèn)相關(guān)端口地址,就會(huì)被重定向到登錄頁(yè)面。使用配置好的用戶名密碼登錄即可。
OK,這個(gè)比較簡(jiǎn)單。
到此這篇關(guān)于Springboot集成Actuator監(jiān)控功能詳解的文章就介紹到這了,更多相關(guān)Springboot的Actuator監(jiān)控內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
SSH框架網(wǎng)上商城項(xiàng)目第7戰(zhàn)之整合Struts2和Json
SSH框架網(wǎng)上商城項(xiàng)目第7戰(zhàn)之整合Struts2和Json,打通EasyUI和Struts2之間的交互,感興趣的小伙伴們可以參考一下2016-05-05詳解log4j-over-slf4j與slf4j-log4j12共存stack overflow異常分析
這篇文章主要介紹了詳解log4j-over-slf4j與slf4j-log4j12共存stack overflow異常分析,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-07-07SpringBoot實(shí)現(xiàn)過(guò)濾敏感詞的示例代碼
這篇文章主要為大家詳細(xì)介紹了如何利用SpringBoot實(shí)現(xiàn)過(guò)濾敏感詞功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以動(dòng)手嘗試一下2022-08-08java客戶端Jedis操作Redis Sentinel 連接池的實(shí)現(xiàn)方法
下面小編就為大家?guī)?lái)一篇java客戶端Jedis操作Redis Sentinel 連接池的實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-03-03Java后端SSM框架圖片上傳功能實(shí)現(xiàn)方法解析
這篇文章主要介紹了Java后端SSM框架圖片上傳功能實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-06-06