javascript
【SpringBoot专题】监控健康状况
前言
想一想,我們以前是如何監(jiān)控一個(gè)Java應(yīng)用的監(jiān)控狀況的?一般而言,我們會(huì)在Linux服務(wù)器上通過一些命令,比如通過jstat來統(tǒng)計(jì)堆內(nèi)存的使用情況/垃圾回收的情況,通過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形式來進(jìn)行展示,為了更好的進(jìn)行監(jiān)控顯示,我們來介紹一個(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)用來進(jìn)行監(jiān)控這些client,client和server之間需要做一點(diǎn)配置即可。
我們先來看一下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)控信息為空?
接下來,配置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é)
通過本文,你應(yīng)該能了解到springboot在監(jiān)控方面為開發(fā)人員準(zhǔn)備了一套解決方案,通過可視化的工具,使得監(jiān)控變得輕松~
作者:張豐哲
鏈接:https://www.jianshu.com/p/c5d0ee3f1d91
來源:簡(jiǎn)書
簡(jiǎn)書著作權(quán)歸作者所有,任何形式的轉(zhuǎn)載都請(qǐng)聯(lián)系作者獲得授權(quán)并注明出處。
總結(jié)
以上是生活随笔為你收集整理的【SpringBoot专题】监控健康状况的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 【手写系列】纯手写实现一个高可用的RPC
- 下一篇: 工程化专题之Maven(上)