Spring Boot 項(xiàng)目做性能監(jiān)控的操作流程
Spring Boot特別適合團(tuán)隊(duì)構(gòu)建各種可快速迭代的微服務(wù),同時(shí)為了減少程序本身監(jiān)控系統(tǒng)的開(kāi)發(fā)量,Spring Boot 提供了 actuator 模塊,可以很方便的對(duì)你的 Spring Boot 程序做監(jiān)控。
1. actuator接口說(shuō)明
Spring Boot 應(yīng)用中加入監(jiān)控很簡(jiǎn)單,只需要在pom.xml文件中加入以下依賴(lài):
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
為了保證actuator接口的敏感性,在配置文件中,開(kāi)放安全屬性配置:
management.security.enabled=false
這樣就能允許你查看 Spring Boot 進(jìn)程的actuator信息了。
啟動(dòng)Spring Boot程序,在啟動(dòng)日志里看到可訪問(wèn)的actuator接口:

通過(guò)這些,我們可以實(shí)時(shí)的獲取應(yīng)用的各項(xiàng)監(jiān)控指標(biāo)。另外,關(guān)注微信公眾號(hào):Java技術(shù)棧,在后臺(tái)回復(fù):boot,可以獲取我整理的 N 篇 Spring Boot 教程,都是干貨。
actuator的接口分為原生接口和用戶自定義接口。原生接口主要有如下幾個(gè):

如果你想關(guān)閉某個(gè)接口,比如關(guān)閉health接口,可以直接設(shè)置:
endpoints.health.enabled=false
2. 監(jiān)控展示
2.1 JConsole
JConsole是一個(gè)內(nèi)置Java性能分析器,如果你本機(jī)已經(jīng)配置了jdk的話,可直接命令行輸入jconsole,打開(kāi)后的頁(yè)面如下圖所示:

選擇你要監(jiān)控的進(jìn)程,點(diǎn)擊連接即可進(jìn)入該Java進(jìn)程的監(jiān)控首頁(yè),如下圖所示:

可以很詳細(xì)地展示進(jìn)程的內(nèi)存、CPU、類(lèi)信息。
2.2 Spring Boot Admin
Spring Boot Admin是一款監(jiān)控和管理 Spring Boot 應(yīng)用程序的開(kāi)源軟件。Spring Boot Admin讀取actuator的接口數(shù)據(jù),并通過(guò) Spring Boot Admin UI 將實(shí)時(shí)數(shù)據(jù)展示在前端。
創(chuàng)建一個(gè)Spring Boot Admin Server,首先需要?jiǎng)?chuàng)建一個(gè)基本的 Spring Boot 應(yīng)用程序,這個(gè)就不做贅述了,并加入以下依賴(lài):
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server</artifactId> <version>1.5.7</version> </dependency> <dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-server-ui</artifactId> <version>1.5.7</version> </dependency>
server.port端口設(shè)置為8090,并注冊(cè)到你的eureka服務(wù)上。
啟動(dòng)類(lèi)中使用注解開(kāi)啟服務(wù):
@SpringBootApplication @EnableDiscoveryClient @EnableAdminServer @EnableTurbine public class HtsApplication { public static void main(String[] args) { SpringApplication.run(HtsApplication.class, args); } }
瀏覽器訪問(wèn):http://localhost:8090 即可看到如下Spring Boot Admin Server的頁(yè)面:

在任意需要被監(jiān)控的Spring Boot應(yīng)用程序上,添加依賴(lài):
<dependency> <groupId>de.codecentric</groupId> <artifactId>spring-boot-admin-starter-client</artifactId> <version>1.5.7</version> </dependency>
啟動(dòng)客戶端后,稍等片刻,Spring Boot Admin Server從Eureka上拿到注冊(cè)信息后,即可在 http://localhost:8090 上看到應(yīng)用程序的監(jiān)控信息了:

3. FAQ
Spring Boot Admin Server上可以配置郵件告警信息,添加自己的Email即可收到告警信息。 Spring Boot Admin Server監(jiān)控的應(yīng)用程序服務(wù),需要和Spring Boot Admin Server都注冊(cè)到Eureka上。推薦去我的博客閱讀更多:
1.Java JVM、集合、多線程、新特性系列教程
2.Spring MVC、Spring Boot、Spring Cloud 系列教程
3.Maven、Git、Eclipse、Intellij IDEA 系列工具教程
4.Java、后端、架構(gòu)、阿里巴巴等大廠最新面試題
到此這篇關(guān)于Spring Boot 項(xiàng)目如何做性能監(jiān)控的文章就介紹到這了,更多相關(guān)Spring Boot性能監(jiān)控內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP基礎(chǔ)知識(shí)VBScript基本元素講解2. Python 利用Entrez庫(kù)篩選下載PubMed文獻(xiàn)摘要的示例3. Python 合并拼接字符串的方法4. Python 制作查詢商品歷史價(jià)格的小工具5. Python 如何調(diào)試程序崩潰錯(cuò)誤6. Python sublime安裝及配置過(guò)程詳解7. python使用jenkins發(fā)送企業(yè)微信通知的實(shí)現(xiàn)8. Linux刪除系統(tǒng)自帶版本Python過(guò)程詳解9. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條10. Python3 json模塊之編碼解碼方法講解

網(wǎng)公網(wǎng)安備