| ¶Ô±ÈÐÂÎļþ |
| | |
| | | <!--OA模åï¼æå¡å¨çæ§--> |
| | | <template> |
| | | <div class="app-container"> |
| | | <el-row :gutter="10"> |
| | | <el-col :span="12" class="card-box"> |
| | | <el-card> |
| | | <template #header><Cpu style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">CPU</span></template> |
| | | <div class="el-table el-table--enable-row-hover el-table--medium"> |
| | | <table cellspacing="0" style="width: 100%;"> |
| | | <thead> |
| | | <tr> |
| | | <th class="el-table__cell is-leaf"><div class="cell">屿§</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">å¼</div></th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">æ ¸å¿æ°</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.cpuNum }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">ç¨æ·ä½¿ç¨ç</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.used }}%</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">ç³»ç»ä½¿ç¨ç</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.sys }}%</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">å½å空é²ç</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.cpu">{{ server.cpu.free }}%</div></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-col :span="12" class="card-box"> |
| | | <el-card> |
| | | <template #header><Tickets style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">å
å</span></template> |
| | | <div class="el-table el-table--enable-row-hover el-table--medium"> |
| | | <table cellspacing="0" style="width: 100%;"> |
| | | <thead> |
| | | <tr> |
| | | <th class="el-table__cell is-leaf"><div class="cell">屿§</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">å
å</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">JVM</div></th> |
| | | </tr> |
| | | </thead> |
| | | <tbody> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">æ»å
å</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.total }}G</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.total }}M</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">å·²ç¨å
å</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.used}}G</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.used}}M</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">å©ä½å
å</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem">{{ server.mem.free }}G</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.free }}M</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">使ç¨ç</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.mem" :class="{'text-danger': server.mem.usage > 80}">{{ server.mem.usage }}%</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm" :class="{'text-danger': server.jvm.usage > 80}">{{ server.jvm.usage }}%</div></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-col :span="24" class="card-box"> |
| | | <el-card> |
| | | <template #header><Monitor style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">æå¡å¨ä¿¡æ¯</span></template> |
| | | <div class="el-table el-table--enable-row-hover el-table--medium"> |
| | | <table cellspacing="0" style="width: 100%;"> |
| | | <tbody> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">æå¡å¨åç§°</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerName }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">æä½ç³»ç»</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osName }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">æå¡å¨IP</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.computerIp }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">ç³»ç»æ¶æ</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.osArch }}</div></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-col :span="24" class="card-box"> |
| | | <el-card> |
| | | <template #header><CoffeeCup style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">Javaèææºä¿¡æ¯</span></template> |
| | | <div class="el-table el-table--enable-row-hover el-table--medium"> |
| | | <table cellspacing="0" style="width: 100%;table-layout:fixed;"> |
| | | <tbody> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">Javaåç§°</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.name }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">Javaçæ¬</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.version }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td class="el-table__cell is-leaf"><div class="cell">å¯å¨æ¶é´</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.startTime }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">è¿è¡æ¶é¿</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.runTime }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="1" class="el-table__cell is-leaf"><div class="cell">å®è£
è·¯å¾</div></td> |
| | | <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.home }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="1" class="el-table__cell is-leaf"><div class="cell">项ç®è·¯å¾</div></td> |
| | | <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.sys">{{ server.sys.userDir }}</div></td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="1" class="el-table__cell is-leaf"><div class="cell">è¿è¡åæ°</div></td> |
| | | <td colspan="3" class="el-table__cell is-leaf"><div class="cell" v-if="server.jvm">{{ server.jvm.inputArgs }}</div></td> |
| | | </tr> |
| | | </tbody> |
| | | </table> |
| | | </div> |
| | | </el-card> |
| | | </el-col> |
| | | |
| | | <el-col :span="24" class="card-box"> |
| | | <el-card> |
| | | <template #header><MessageBox style="width: 1em; height: 1em; vertical-align: middle;" /> <span style="vertical-align: middle;">ç£çç¶æ</span></template> |
| | | <div class="el-table el-table--enable-row-hover el-table--medium"> |
| | | <table cellspacing="0" style="width: 100%;"> |
| | | <thead> |
| | | <tr> |
| | | <th class="el-table__cell el-table__cell is-leaf"><div class="cell">ç符路å¾</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">æä»¶ç³»ç»</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">ç符类å</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">æ»å¤§å°</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">å¯ç¨å¤§å°</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">å·²ç¨å¤§å°</div></th> |
| | | <th class="el-table__cell is-leaf"><div class="cell">å·²ç¨ç¾åæ¯</div></th> |
| | | </tr> |
| | | </thead> |
| | | <tbody v-if="server.sysFiles"> |
| | | <tr v-for="(sysFile, index) in server.sysFiles" :key="index"> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.dirName }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.sysTypeName }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.typeName }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.total }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.free }}</div></td> |
| | | <td class="el-table__cell is-leaf"><div class="cell">{{ sysFile.used }}</div></td> |
| | | <td class="el-table__cell is-leaf"><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> |
| | | |
| | | <script setup> |
| | | import { getServer } from '@/api/monitor/server' |
| | | import {onMounted} from "vue"; |
| | | |
| | | const server = ref([]) |
| | | const { proxy } = getCurrentInstance() |
| | | |
| | | function getList() { |
| | | proxy.$modal.loading("æ£å¨å è½½æå¡çæ§æ°æ®ï¼è¯·ç¨åï¼") |
| | | getServer().then(response => { |
| | | server.value = response.data |
| | | proxy.$modal.closeLoading() |
| | | }) |
| | | } |
| | | |
| | | onMounted(() => { |
| | | getList(); |
| | | }); |
| | | </script> |