Spring Boot之程序性能監控,看了都說好

點擊上方 "程序員小樂"關注, 星標或置頂一起成長

每天凌晨00點00分, 第一時間與你相約


每日英文

Leave all your unhappiness to yesterday, give all your hopes to tomorrow, and do all your hard work today.

把所有的不快給昨天,把所有的希望給明天,把所有的努力給今天。


每日掏心話

所謂的幸福,就是在平淡生活裡的那一份執著和堅守。

來自:zhaoyh | 責編:樂樂

鏈接:zhaoyh.com.cn

Spring Boot之程序性能監控,看了都說好

程序員小樂(ID:study_tech)第 840 次推文 圖片來自百度


往日回顧:又一個程序員“倒”下,Pandownload涼了...


正文


Spring Boot特別適合團隊構建各種可快速迭代的微服務,同時為了減少程序本身監控系統的開發量,Spring Boot提供了actuator模塊,可以很方便的對你的Spring Boot程序做監控。

1. actuator接口說明

Spring Boot應用中加入監控很簡單,只需要在pom.xml文件中加入以下依賴:


org.springframework.boot
spring-boot-starter-actuator

為了保證actuator接口的敏感性,在配置文件中,開放安全屬性配置:

management.security.enabled=false

這樣就能允許你查看Spring Boot進程的actuator信息了。

啟動Spring Boot程序,在啟動日誌裡看到可訪問的actuator接口:

Spring Boot之程序性能監控,看了都說好

通過這些,我們可以實時的獲取應用的各項監控指標。

actuator的接口分為原生接口和用戶自定義接口。原生接口主要有如下幾個:


路徑

說明


/health 展示了進程的健康狀態

/beans 程序創建的Bean

/configprops 配置信息,屬性值

/env 環境屬性

/info info開頭的程序屬性信息

/metrics 度量指標,比如JVM和HTTP請求等

/trace HTTP的詳細請求信息

/mappings 所有的URL路徑映射關係

/dump 線程快照信息

/heapdump 內存快照信息

如果你想關閉某個接口,比如關閉health接口,可以直接設置:

endpoints.health.enabled=false

2. 監控展示

2.1 JConsole

JConsole是一個內置Java性能分析器,如果你本機已經配置了jdk的話,可直接命令行輸入jconsole,打開後的頁面如下圖所示:

Spring Boot之程序性能監控,看了都說好

選擇你要監控的進程,點擊連接即可進入該Java進程的監控首頁,如下圖所示:

Spring Boot之程序性能監控,看了都說好

可以很詳細地展示進程的內存、CPU、類信息。

2.2 Spring Boot Admin

Spring Boot Admin是一款監控和管理Spring Boot應用程序的開源軟件。Spring Boot Admin讀取actuator的接口數據,並通過Spring Boot Admin UI將實時數據展示在前端。

創建一個Spring Boot Admin Server,首先需要創建一個基本的Spring Boot應用程序,這個就不做贅述了,並加入以下依賴:


de.codecentric
spring-boot-admin-server
1.5.7



de.codecentric
spring-boot-admin-server-ui
1.5.7

server.port端口設置為8090,並註冊到你的eureka服務上。

啟動類中使用註解開啟服務:

@SpringBootApplication
@EnableDiscoveryClient
@EnableAdminServer
@EnableTurbine
public class HtsApplication {

public static void main(String[] args) {
SpringApplication.run(HtsApplication.class, args);
}
}

瀏覽器訪問:http://localhost:8090 即可看到如下Spring Boot Admin Server的頁面:

Spring Boot之程序性能監控,看了都說好

在任意需要被監控的Spring Boot應用程序上,添加依賴:


de.codecentric
spring-boot-admin-starter-client
1.5.7

啟動客戶端後,稍等片刻,Spring Boot Admin Server從Eureka上拿到註冊信息後,即可在 http://localhost:8090 上看到應用程序的監控信息了:

Spring Boot之程序性能監控,看了都說好

3. FAQ


  • Spring Boot Admin Server上可以配置郵件告警信息,添加自己的Email即可收到告警信息。

  • Spring Boot Admin Server監控的應用程序服務,需要和Spring Boot Admin Server都註冊到Eureka上。


歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。


猜你還想看


阿里、騰訊、百度、華為、京東最新面試題彙集

面試熱身:5 億整數的大文件,排個序?

線上服務 CPU 100%?一鍵定位 So Easy!

基於 token 的多平臺身份認證架構設計

關注訂閱號「程序員小樂」,收看更多精彩內容
嘿,你在看嗎?


分享到:


相關文章: