【SpringBoot專題】監(jiān)控健康狀況

前言

《【SpringBoot專題】快速體驗(yàn)》

《【SpringBoot專題】多環(huán)境配置及swagger》

《【SpringBoot專題】Java平臺(tái)下日志的那些事》

《【SpringBoot專題】統(tǒng)一異常處理和統(tǒng)一數(shù)據(jù)返回》

想一想,我們以前是如何監(jiān)控一個(gè)Java應(yīng)用的監(jiān)控狀況的?一般而言,我們會(huì)在Linux服務(wù)器上通過(guò)一些命令,比如通過(guò)jstat來(lái)統(tǒng)計(jì)堆內(nèi)存的使用情況/垃圾回收的情況,通過(guò)jstack分析Java線程狀態(tài)等。那么對(duì)于SpringBoot而言,在監(jiān)控應(yīng)用健康狀況上,提供了更佳簡(jiǎn)便以及可視化的工具給我們使用,本文就給大家分享這方面的知識(shí)~


監(jiān)控插件:actuator

引入actuator插件非常簡(jiǎn)單,只需要在項(xiàng)目中依賴(注意和springboot的版本要一致,否則可能報(bào)錯(cuò)):

compile group: 'org.springframework.boot', name: 'spring-boot-starter-actuator', version: '1.5.15.RELEASE'

然后在application.properties中加入配置(不需要認(rèn)證身份):

management.security.enabled=false

加入依賴后,我們啟動(dòng)下項(xiàng)目看一下有哪些變化:

監(jiān)控地址
監(jiān)控應(yīng)用的整體狀態(tài)以及磁盤狀況
以json串的形式描述環(huán)境變量
線程dump文件


Spring Boot Admin:可視化后臺(tái)管理系統(tǒng)

對(duì)于spring?actuator而言,最大的缺點(diǎn)在于是以json形式來(lái)進(jìn)行展示,為了更好的進(jìn)行監(jiān)控顯示,我們來(lái)介紹一個(gè)更佳方便的工具:springbootadmin。

利用springbootadmin進(jìn)行監(jiān)控的架構(gòu)圖如下:

springbootadmin監(jiān)控

通俗點(diǎn),就是我們?nèi)绻衝個(gè)springboot業(yè)務(wù)系統(tǒng)需要監(jiān)控的話,那么需要一個(gè)額外的springbootadmin應(yīng)用來(lái)進(jìn)行監(jiān)控這些client,client和server之間需要做一點(diǎn)配置即可。

我們先來(lái)看一下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注解

@EnableAdminServer

啟動(dòng)springbootadmin應(yīng)用:

目前client監(jiān)控信息為空

接下來(lái),配置client

加入依賴

compilegroup:'de.codecentric',name:'spring-boot-admin-starter-client',version:'1.5.5'

加入配置

指明springbootadminserver配置

啟動(dòng)client后,進(jìn)入springbootadminserver監(jiān)控界面,你會(huì)發(fā)現(xiàn):

監(jiān)控界面列表


client監(jiān)控情況

在監(jiān)控界面上,你會(huì)可視化的了解到:環(huán)境變量,線程的狀態(tài)信息,類加載信息(包括依賴的第三方j(luò)ar),http請(qǐng)求的統(tǒng)計(jì)信息(次數(shù)和時(shí)間),gc的次數(shù)和時(shí)間統(tǒng)計(jì)信息,堆/非堆內(nèi)存的使用情況等等。


總結(jié)

通過(guò)本文,你應(yīng)該能了解到springboot在監(jiān)控方面為開(kāi)發(fā)人員準(zhǔn)備了一套解決方案,通過(guò)可視化的工具,使得監(jiān)控變得輕松~

中秋快樂(lè)~

create by zhangfengzhe

2018.09.24

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容