【SpringBoot专题】监控健康状况

前言

《【SpringBoot专题】快速体验》

《【SpringBoot专题】多环境配置及swagger》

《【SpringBoot专题】Java平台下日志的那些事》

《【SpringBoot专题】统一异常处理和统一数据返回》

想一想,我们以前是如何监控一个Java应用的监控状况的?一般而言,我们会在Linux服务器上通过一些命令,比如通过jstat来统计堆内存的使用情况/垃圾回收的情况,通过jstack分析Java线程状态等。那么对于SpringBoot而言,在监控应用健康状况上,提供了更佳简便以及可视化的工具给我们使用,本文就给大家分享这方面的知识~

监控插件:actuator

引入actuator插件非常简单,只需要在项目中依赖(注意和springboot的版本要一致,否则可能报错):

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

然后在application.properties中加入配置(不需要认证身份):

management.security.enabled=false

加入依赖后,我们启动下项目看一下有哪些变化:

监控地址

监控应用的整体状态以及磁盘状况

以json串的形式描述环境变量

线程dump文件

Spring Boot Admin:可视化后台管理系统

对于spring actuator而言,最大的缺点在于是以json形式来进行展示,为了更好的进行监控显示,我们来介绍一个更佳方便的工具:springbootadmin。

利用springbootadmin进行监控的架构图如下:

springbootadmin监控

通俗点,就是我们如果有n个springboot业务系统需要监控的话,那么需要一个额外的springbootadmin应用来进行监控这些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注解

@EnableAdminServer

启动springbootadmin应用:

目前client监控信息为空

接下来,配置client

加入依赖

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

加入配置

指明springbootadminserver配置

启动client后,进入springbootadminserver监控界面,你会发现:

监控界面列表

client监控情况

在监控界面上,你会可视化的了解到:环境变量,线程的状态信息,类加载信息(包括依赖的第三方jar),http请求的统计信息(次数和时间),gc的次数和时间统计信息,堆/非堆内存的使用情况等等。

在Java技术方面有想要提升自己的朋友,可以关注小编私信发送暗号555

小编有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,
Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料提供。

每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!



 

猜你喜欢

转载自blog.csdn.net/javaspring1/article/details/82888655