简介
项目介绍
- 基于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
目录说明
- actuator-service 监控端点jar包 需要引入到需要监控的项目中(已打包好上传)
- 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")
启动监控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:等待的线程数