Skip to content
基于SpringBoot2.0 实现的jvm远程监工图形化工具,可以同时监控多个web应用,支持远程监控
Branch: master
Clone or download
Latest commit 08094b8 May 30, 2019

README.md

简介

QQ群 码云 Github

项目介绍

  • 基于SpringBoot2.0 实现的jvm远程监工图形化工具,可以同时监控多个web应用
  • 该项目是借鉴另个一开源项目JavaMonito初始版演变而来,剔除了一些功能,增加了可远程监控模块,只需要在需要监控的项目集成监控的jar包 并设置可访问的IP(默认为空 则不拦截IP访问) 就可以实现远程监控,和用户管理模块,动态定时任务 支付windows服务器和Linux服务监控,Mac还未测试 应该也支持
  • 参考项目地址:https://github.com/yueshutong/JavaMonitor

项目框架

  • SpringBoot 2.0.3.RELEASE
  • mybatis-plus 3.6
  • MySql
  • Jdk1.8

目录说明

  1. actuator-service 监控端点jar包 需要引入到需要监控的项目中(已打包好上传)
  2. boot-monitor 监监控图形化工程

安装说明

第一步

编译actuator-service工程 打成jar包

mvn install:install-file -Dfile=actuator-service-1.0.jar -DgroupId=com.github.qinxuewu -DartifactId=actuator-service -Dversion=1.0 -Dpackaging=jar
  • Dfile: 要安装的JAR的本地路径 
  • DgroupId:要安装的JAR的Group Id  (本地仓库的下一级目录到生成好的jar包的上一级目录 之间 用.分割:redis.clients)
  • DartifactId: 要安装的JAR的 Artificial Id (生成好的jar包的上一级目录)
  • Dversion: JAR 版本 
  • Dpackaging: 打包类型,例如JAR

第二步

需要监控的项目中引入actuator-service-1.0.jar

<dependency>
	<groupId>com.github.qinxuewu</groupId>
	 <artifactId>actuator-service</artifactId>
	 <version>1.0</version>
</dependency

配置文件

#监控应用名称 唯一
spring.application.name=web1

#限制白名单 访问监控端点 为空则不限制  建议设置
actuator.server.ip=

#监控远程应用日志
actuator.log.path=F:/log/boot-monitor/spring.log

启动类上增加扫描包注解

com.pflm.**:  是需要监控的项目包名  
com.github.qinxuewu.cor   :是暴露给外部访问的监控端点包(actuator-service-1.0.jar中的controller)

@ComponentScan("com.pflm.**,com.github.qinxuewu.core")

启动日志出现如下端点信息 则表示集成监控jar包成功 输入图片说明

启动监控boot-monitor

#编译成jar或war包启动工程

nohup java -jar boot-monitor.jar  &

访问:http://localhost:8080/login 登录默认账号 admin/admin

效果图如下

登录

输入图片说明

监控列表主页

输入图片说明

监控详情

输入图片说明

用户管理

输入图片说明

定时任务

输入图片说明

远程应用日志监控

输入图片说明

监控参数的含义

  • S0C:s0(from)的大小(KB)
  • S1C:s1(from)的大小(KB)
  • S0U:s0(from)已使用的空间(KB)
  • S1U:s1(from)已经使用的空间(KB)
  • EC:eden区的大小(KB)
  • EU:eden区已经使用的空间(KB)
  • OC:老年代大小(KB)
  • OU:老年代已经使用的空间(KB)
  • MC:元空间的大小(Metaspace)
  • MU:元空间已使用大小(KB)
  • CCSC:压缩类空间大小(compressed class space)
  • CCSU:压缩类空间已使用大小(KB)
  • YGC:新生代gc次数
  • YGCT:新生代gc耗时(秒)
  • FGC:Full gc次数
  • FGCT:Full gc耗时(秒)
  • GCT:gc总耗时(秒)
  • Loaded:表示载入了类的数量
  • Unloaded:表示卸载类的数量
  • Compiled:表示编译任务执行的次数
  • Failed:表示编译失败的次数
  • Total:线程总数
  • Runnable:正在运行的线程数
  • Sleeping:休眠的线程数
  • Waiting:等待的线程数
You can’t perform that action at this time.