前言
《【SpringBoot專題】多環(huán)境配置及swagger》
《【SpringBoot專題】統(tǒng)一異常處理和統(tǒng)一數(shù)據(jù)返回》
想一想瘩燥,我們以前是如何監(jiān)控一個Java應(yīng)用的監(jiān)控狀況的乔煞?一般而言拼余,我們會在Linux服務(wù)器上通過一些命令,比如通過jstat來統(tǒng)計堆內(nèi)存的使用情況/垃圾回收的情況评也,通過jstack分析Java線程狀態(tài)等枕磁。那么對于SpringBoot而言呐粘,在監(jiān)控應(yīng)用健康狀況上十偶,提供了更佳簡便以及可視化的工具給我們使用,本文就給大家分享這方面的知識~
監(jiān)控插件:actuator
引入actuator插件非常簡單腻菇,只需要在項目中依賴(注意和springboot的版本要一致胳螟,否則可能報錯):
compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '1.5.15.RELEASE'
然后在application.properties中加入配置(不需要認(rèn)證身份):
management.security.enabled=false
加入依賴后,我們啟動下項目看一下有哪些變化:
Spring Boot Admin:可視化后臺管理系統(tǒng)
對于spring?actuator而言筹吐,最大的缺點在于是以json形式來進(jìn)行展示糖耸,為了更好的進(jìn)行監(jiān)控顯示,我們來介紹一個更佳方便的工具:springbootadmin骏令。
利用springbootadmin進(jìn)行監(jiān)控的架構(gòu)圖如下:
通俗點蔬捷,就是我們?nèi)绻衝個springboot業(yè)務(wù)系統(tǒng)需要監(jiān)控的話垄提,那么需要一個額外的springbootadmin應(yīng)用來進(jìn)行監(jiān)控這些client榔袋,client和server之間需要做一點配置即可周拐。
我們先來看一下sever端,即springbootadminserver的配置情況:
加入依賴
compile group: 'de.codecentric', name: 'spring-boot-admin-server', version: '1.5.5'
compile group: 'de.codecentric', name: 'spring-boot-admin-server-ui', version: '1.5.5'?
@EnableAdminServer注解
啟動springbootadmin應(yīng)用:
接下來凰兑,配置client:
加入依賴
compilegroup:'de.codecentric',name:'spring-boot-admin-starter-client',version:'1.5.5'
加入配置
啟動client后妥粟,進(jìn)入springbootadminserver監(jiān)控界面,你會發(fā)現(xiàn):
在監(jiān)控界面上吏够,你會可視化的了解到:環(huán)境變量勾给,線程的狀態(tài)信息,類加載信息(包括依賴的第三方j(luò)ar)锅知,http請求的統(tǒng)計信息(次數(shù)和時間)播急,gc的次數(shù)和時間統(tǒng)計信息,堆/非堆內(nèi)存的使用情況等等售睹。
總結(jié)
通過本文桩警,你應(yīng)該能了解到springboot在監(jiān)控方面為開發(fā)人員準(zhǔn)備了一套解決方案,通過可視化的工具昌妹,使得監(jiān)控變得輕松~
中秋快樂~
create by zhangfengzhe
2018.09.24