SpringBoot读取服务器JVM、CPU等信息
效果图
需要代码的话 代码资料
阿里云盘链接:https://www.aliyundrive.com/s/UEMNStWWuip




步骤一
导入实体类
编写Controller 返回值为server对象
/*** @author Jack* @date 2021/5/13 14:59*/
@RestController
@CrossOrigin
@RequestMapping("system")
@Api(tags = "平台运行接口")
public class SystemController {@GetMapping("/server")@ApiOperation("查询服务器信息")@MySysLog(title = "查询服务器信息", action = "查询服务器信息")//@MySysLog(title = "查询服务器信息", action = "查询服务器信息")public Result getInfo() throws Exception {Server server = new Server();server.copyTo();return new Result(true, MessageConstant.QUERY_DATA_SUCCESSFUL,server);}
}
步骤三
前端接收,返回格式为

步骤四 前端获取数据
1.定义一个值为 将后端的值赋给 serverData
data: {serverData: {},},
server(){axios.get("/system/server").then((response) => {if (response.data.flag) {this.$message.success(response.data.message);this.serverData = response.data.data;}else {this.$message.error(response.data.message);}})}
DOCTYPE html>
<html>
<head><meta charset="utf-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><title>ONLINE_MALLtitle><meta name="description" content="ONLINE_MALL"><meta name="keywords" content="ONLINE_MALL"><script src="../plugins/echarts/echarts.js">script><meta content="width=device-width,initial-scale=1,maximum-scale=1,user-scalable=no" name="viewport"><link rel="stylesheet" href="../plugins/elementui/index.css"><link rel="stylesheet" href="../plugins/font-awesome/css/font-awesome.min.css"><link rel="stylesheet" href="../css/style.css">
head>
<body class="hold-transition">
<div id="app"><div class="content-header"><h1>ONLINE_MALL<small>平台运行情况small>h1>div><div class="filter-container"><el-button type="primary" @click="server()" round>获取最新数据el-button>div><template><div class="app-container"><el-row><el-col :span="12" class="card-box"><el-card><div slot="header"><span>CPUspan>div><div class="el-table el-table--enable-row-hover el-table--medium"><table cellspacing="0" style="width: 100%;"><thead><tr><th class="is-leaf"><div class="cell">属性div>th><th class="is-leaf"><div class="cell">值div>th>tr>thead><tbody><tr><td><div class="cell">核心数div>td><td><div class="cell" v-if="serverData.cpu">{{ serverData.cpu.cpuNum }}div>td>tr><tr><td><div class="cell">用户使用率div>td><td><div class="cell" v-if="serverData.cpu">{{ serverData.cpu.used }}%div>td>tr><tr><td><div class="cell">系统使用率div>td><td><div class="cell" v-if="serverData.cpu">{{ serverData.cpu.sys }}%div>td>tr><tr><td><div class="cell">当前空闲率div>td><td><div class="cell" v-if="serverData.cpu">{{ serverData.cpu.free }}%div>td>tr>tbody>table>div>el-card>el-col><el-col :span="12" class="card-box"><el-card><div slot="header"><span>内存span>div><div class="el-table el-table--enable-row-hover el-table--medium"><table cellspacing="0" style="width: 100%;"><thead><tr><th class="is-leaf"><div class="cell">属性div>th><th class="is-leaf"><div class="cell">内存div>th><th class="is-leaf"><div class="cell">JVMdiv>th>tr>thead><tbody><tr><td><div class="cell">总内存div>td><td><div class="cell" v-if="serverData.mem">{{ serverData.mem.total }}Gdiv>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.total }}Mdiv>td>tr><tr><td><div class="cell">已用内存div>td><td><div class="cell" v-if="serverData.mem">{{ serverData.mem.used}}Gdiv>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.used}}Mdiv>td>tr><tr><td><div class="cell">剩余内存div>td><td><div class="cell" v-if="serverData.mem">{{ serverData.mem.free }}Gdiv>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.free }}Mdiv>td>tr><tr><td><div class="cell">使用率div>td><td><div class="cell" v-if="serverData.mem" :class="{'text-danger': serverData.mem.usage > 80}">{{ serverData.mem.usage }}%div>td><td><div class="cell" v-if="serverData.jvm" :class="{'text-danger': serverData.jvm.usage > 80}">{{ serverData.jvm.usage }}%div>td>tr>tbody>table>div>el-card>el-col><el-col :span="24" class="card-box"><el-card><div slot="header"><span>服务器信息span>div><div class="el-table el-table--enable-row-hover el-table--medium"><table cellspacing="0" style="width: 100%;"><tbody><tr><td><div class="cell">服务器名称div>td><td><div class="cell" v-if="serverData.sys">{{ serverData.sys.computerName }}div>td><td><div class="cell">操作系统div>td><td><div class="cell" v-if="serverData.sys">{{ serverData.sys.osName }}div>td>tr><tr><td><div class="cell">服务器IPdiv>td><td><div class="cell" v-if="serverData.sys">{{ serverData.sys.computerIp }}div>td><td><div class="cell">系统架构div>td><td><div class="cell" v-if="serverData.sys">{{ serverData.sys.osArch }}div>td>tr>tbody>table>div>el-card>el-col><el-col :span="24" class="card-box"><el-card><div slot="header"><span>Java虚拟机信息span>div><div class="el-table el-table--enable-row-hover el-table--medium"><table cellspacing="0" style="width: 100%;"><tbody><tr><td><div class="cell">Java名称div>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.name }}div>td><td><div class="cell">Java版本div>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.version }}div>td>tr><tr><td><div class="cell">启动时间div>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.startTime }}div>td><td><div class="cell">运行时长div>td><td><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.runTime }}div>td>tr><tr><td colspan="1"><div class="cell">安装路径div>td><td colspan="3"><div class="cell" v-if="serverData.jvm">{{ serverData.jvm.home }}div>td>tr><tr><td colspan="1"><div class="cell">项目路径div>td><td colspan="3"><div class="cell" v-if="serverData.sys">{{ serverData.sys.userDir }}div>td>tr>tbody>table>div>el-card>el-col><el-col :span="24" class="card-box"><el-card><div slot="header"><span>磁盘状态span>div><div class="el-table el-table--enable-row-hover el-table--medium"><table cellspacing="0" style="width: 100%;"><thead><tr><th class="is-leaf"><div class="cell">盘符路径div>th><th class="is-leaf"><div class="cell">文件系统div>th><th class="is-leaf"><div class="cell">盘符类型div>th><th class="is-leaf"><div class="cell">总大小div>th><th class="is-leaf"><div class="cell">可用大小div>th><th class="is-leaf"><div class="cell">已用大小div>th><th class="is-leaf"><div class="cell">已用百分比div>th>tr>thead><tbody v-if="serverData.sysFiles"><tr v-for="sysFile in serverData.sysFiles"><td><div class="cell">{{ sysFile.dirName }}div>td><td><div class="cell">{{ sysFile.sysTypeName }}div>td><td><div class="cell">{{ sysFile.typeName }}div>td><td><div class="cell">{{ sysFile.total }}div>td><td><div class="cell">{{ sysFile.free }}div>td><td><div class="cell">{{ sysFile.used }}div>td><td><div class="cell" :class="{'text-danger': sysFile.usage > 80}">{{ sysFile.usage }}%div>td>tr>tbody>table>div>el-card>el-col>el-row>div>template>
div>
body>
<script src="../js/vue.js">script>
<script src="../plugins/elementui/index.js">script>
<script type="text/javascript" src="../js/jquery.min.js">script>
<script src="../js/axios-0.18.0.js">script>
<div id="main" style="width: 600px;height:400px;">div>
<script>var vue = new Vue({el: '#app',data: {serverData: {},},// 加载层信息loading: [],// 服务器信息server1: [],name: "Server",//钩子函数,VUE对象初始化完成后自动执行created() {this.server()},methods: {server(){axios.get("/system/server").then((response) => {if (response.data.flag) {this.$message.success(response.data.message);this.serverData = response.data.data;}else {this.$message.error(response.data.message);}})}}});
script>
html>
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
