文章目录
一、第一章、为什么要研发 [服务监控] 功能模块 二、第二章、[服务监控] 功能模块开发过程 2.1.、引入依赖包 2.2、开发过程 2.2.1、实体类 2.2.2、控制层类 2.2.3、页面展示前言
本来想着等待javamis低代码开发平台完全研发完成后,再按照功能模块的方式一一将功能点详细写出来,但随着javamis平台越研发越大,就会导致前面研发功能模块过程的知识点遗漏记下来,经过仔细思考后,决定还是先不要那么完美,在开发过程遇到哪些功能点就记录哪些,以免知识点再次遗漏,待整个javamis平台研发完,再整理博客的顺序 - 便于小伙伴们的参考,同时,请小伙伴们届时留意我的动态发布内容,欢迎加入QQ技术交流群:327773608 |
这是因为,服务监控模块可以实现实时动态的展示出java 虚拟机(jvm)的动态情况,帮助管理人员对服务器的软件、硬件的维护~
第2章 搭建开发环境(windows环境)2.1. 引入依赖包
javamis-parent父工程下,pom.xml文件添加以下依赖
1 <properties> 2 <oshi.version>6.4.5</oshi.version> 3 <jna.version>5.10.0</jna.version> 4 </properties>
1 <dependencyManagement> 2 <dependencies> 3 <!-- 监控服务-获取系统信息 --> 4 <dependency> 5 <groupId>com.github.oshi</groupId> 6 <artifactId>oshi-core</artifactId> 7 <version>${oshi.version}</version> 8 </dependency> 9 <dependency> 10 <groupId>net.java.dev.jna</groupId> 11 <artifactId>jna</artifactId> 12 <version>${jna.version}</version> 13 </dependency> 14 <dependency> 15 <groupId>net.java.dev.jna</groupId> 16 <artifactId>jna-platform</artifactId> 17 <version>${jna.version}</version> 18 </dependency> 19 </dependencies> 20 </dependencyManagement>
javamis-core 子核心工程下,pom.xml文件引用父工程的依赖
1 <dependencies> 2 <!-- 监控服务-获取系统信息 --> 3 <dependency> 4 <groupId>com.github.oshi</groupId> 5 <artifactId>oshi-core</artifactId> 6 </dependency> 7 <dependency> 8 <groupId>net.java.dev.jna</groupId> 9 <artifactId>jna</artifactId> 10 </dependency> 11 <dependency> 12 <groupId>net.java.dev.jna</groupId> 13 <artifactId>jna-platform</artifactId> 14 </dependency> 15 </dependencies>
2.2. 开发过程
2.2.1. 实体类
Monitor.java
1 /** 2 * @name: 用户实体类 3 * @version:1.0.2 4 * @author: HuiJia 5 * @QQ号: 763236277 6 * @QQ群: 327773608 7 * @邮箱: [email protected] 8 * @site: http://www.javamis.com 9 */ 10 @Data 11 @EqualsAndHashCode(callSuper = false) 12 @Accessors(chain = true) 13 public class Monitor implements Serializable { 14 private static final long serialVersionUID = 1L; 15 16 private static final int OSHI_WAIT_SECOND = 1000; 17 18 /********************以下是CPU的监控信息******************************/ 19 /** 20 * 核心数 21 */ 22 //private int cpuKernelNum; 23 private int cpuNum; 24 25 /** 26 * CPU总的使用率 27 */ 28 private double cpuTotal; 29 30 /** 31 * CPU系统使用率 32 */ 33 private double cpuSys; 34 35 /** 36 * CPU用户使用率 37 */ 38 private double cpuUsed; 39 40 /** 41 * CPU当前等待率 42 */ 43 private double cpuWait; 44 45 /** 46 * CPU当前空闲率 47 */ 48 private double cpuFree; 49 50 /********************以下是JVM虚拟机的监控信息******************************/ 51 /** 52 * 当前JVM占用的内存总数(M) 53 */ 54 private double jvmTotal; 55 56 /** 57 * JVM最大可用内存总数(M) 58 */ 59 private double jvmMax; 60 61 /** 62 * JVM空闲内存(M) 63 */ 64 private double jvmFree; 65 66 /** 67 * JDK版本 68 */ 69 private String jvmVersion; 70 71 /** 72 * JDK路径 73 */ 74 private String jvmHome; 75 76 /********************以下是内存的监控信息******************************/ 77 /** 78 * 内存总量 79 */ 80 private double memoryTotal; 81 82 /** 83 * 已用内存 84 */ 85 private double memoryUsed; 86 87 /** 88 * 剩余内存 89 */ 90 private double memoryFree; 91 92 /********************以下是服务器的监控信息******************************/ 93 /** 94 * 服务器名称 95 */ 96 private String computerName; 97 98 /** 99 * 服务器Ip 100 */ 101 private String computerIp; 102 103 /** 104 * 项目路径 105 */ 106 private String userDir; 107 108 /** 109 * 操作系统 110 */ 111 private String osName; 112 113 /** 114 * 系统架构 115 */ 116 117 /********************以下是磁盘的监控信息******************************/ 118 private List<SysFile> sysFiles = new LinkedList<SysFile>();
标签:详述,double,private,jna,javamis,监控,CPU,Javamis From: https://www.cnblogs.com/javamis/p/18026945