Springboot集成Actuator監(jiān)控功能詳解
前言
有時候我們想要實時監(jiān)控我們的應(yīng)用程序的運行狀態(tài),比如實時顯示一些指標數(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默認只開啟了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,查看配置屬性,包括默認配置 |
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 | 顯示指標信息,比如內(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)文章
SSH框架網(wǎng)上商城項目第7戰(zhàn)之整合Struts2和Json
SSH框架網(wǎ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異常分析,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-07-07java客戶端Jedis操作Redis Sentinel 連接池的實現(xiàn)方法
下面小編就為大家?guī)硪黄猨ava客戶端Jedis操作Redis Sentinel 連接池的實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-03-03