點擊上方 "程序員小樂"關注, 星標或置頂一起成長
每天凌晨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
程序員小樂(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接口:
通過這些,我們可以實時的獲取應用的各項監控指標。
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,打開後的頁面如下圖所示:
選擇你要監控的進程,點擊連接即可進入該Java進程的監控首頁,如下圖所示:
可以很詳細地展示進程的內存、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應用程序上,添加依賴:
de.codecentric
spring-boot-admin-starter-client
1.5.7
啟動客戶端後,稍等片刻,Spring Boot Admin Server從Eureka上拿到註冊信息後,即可在 http://localhost:8090 上看到應用程序的監控信息了:
3. FAQ
Spring Boot Admin Server上可以配置郵件告警信息,添加自己的Email即可收到告警信息。
Spring Boot Admin Server監控的應用程序服務,需要和Spring Boot Admin Server都註冊到Eureka上。
歡迎在留言區留下你的觀點,一起討論提高。如果今天的文章讓你有新的啟發,學習能力的提升上有新的認識,歡迎轉發分享給更多人。
猜你還想看
阿里、騰訊、百度、華為、京東最新面試題彙集
面試熱身:5 億整數的大文件,排個序?
線上服務 CPU 100%?一鍵定位 So Easy!
基於 token 的多平臺身份認證架構設計
關注訂閱號「程序員小樂」,收看更多精彩內容
嘿,你在看嗎?