2022-04-12 02:33:06 +00:00
|
|
|
<!-- 系统缓存 -->
|
|
|
|
|
<template>
|
|
|
|
|
<div class="cache">
|
|
|
|
|
<el-card shadow="never">
|
|
|
|
|
<el-alert
|
|
|
|
|
class="xxl"
|
|
|
|
|
title="温馨提示:管理系统运行过程中产生的缓存"
|
|
|
|
|
type="primary"
|
|
|
|
|
:closable="false"
|
|
|
|
|
show-icon
|
|
|
|
|
>
|
|
|
|
|
</el-alert>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<el-card class="m-t-15" shadow="never">
|
|
|
|
|
<div>
|
2022-04-15 03:02:49 +00:00
|
|
|
<div class="m-b-15">基本信息</div>
|
|
|
|
|
|
|
|
|
|
<el-form :inline="true" :model="formData" label-width="110px" size="small">
|
|
|
|
|
<el-form-item label="Redis版本">
|
|
|
|
|
<div>{{ formData.redis_version || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="运行模式">
|
|
|
|
|
<div>{{ formData.redis_mode || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="端口">
|
|
|
|
|
<div>{{ formData.tcp_port || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="客户端数">
|
|
|
|
|
<div>{{ formData.connected_clients || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="运行时间(天)">
|
|
|
|
|
<div>{{ formData.uptime_in_days || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="使用内存">
|
|
|
|
|
<div>{{ formData.used_memory_human || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="使用CPU">
|
|
|
|
|
<div>{{ formData.used_cpu_user_children || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="内存配置">
|
|
|
|
|
<div>{{ formData.maxmemory_human || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="AOF是否开启">
|
|
|
|
|
<div>{{ formData.aof_enabled || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="RDB是否成功">
|
|
|
|
|
<div>{{ formData.rdb_last_bgsave_status || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="Key数量">
|
|
|
|
|
<div>{{ formData.dbSize || '-' }}</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
<el-form-item label="网络入口/出口">
|
|
|
|
|
<div>
|
|
|
|
|
{{ formData.instantaneous_input_kbps || '-' }}
|
|
|
|
|
<span>/</span>
|
|
|
|
|
{{ formData.instantaneous_output_kbps || '-' }}
|
|
|
|
|
</div>
|
|
|
|
|
</el-form-item>
|
|
|
|
|
</el-form>
|
2022-04-12 02:33:06 +00:00
|
|
|
</div>
|
|
|
|
|
</el-card>
|
2022-04-14 08:22:13 +00:00
|
|
|
|
|
|
|
|
<div class="m-t-15 flex">
|
|
|
|
|
<!-- 命令统计 -->
|
2022-04-15 03:02:49 +00:00
|
|
|
<el-card class="m-r-15 flex-1 test" shadow="never">
|
2022-04-14 08:22:13 +00:00
|
|
|
<div>
|
|
|
|
|
<div class="p-b-60">命令统计</div>
|
|
|
|
|
<div class="statistical-chart">
|
|
|
|
|
<v-chart class="chart" :option="statisticalData.commandChartOption" />
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
|
|
|
|
|
<!-- 内存信息 -->
|
|
|
|
|
<el-card class="flex-1" shadow="never">
|
|
|
|
|
<div>
|
2022-04-15 03:02:49 +00:00
|
|
|
<div class="p-b-40">内存信息</div>
|
2022-04-14 08:22:13 +00:00
|
|
|
<div class="statistical-chart">
|
2022-04-15 03:02:49 +00:00
|
|
|
<v-chart class="chart" :option="statisticalData.memoryChartOption" />
|
2022-04-14 08:22:13 +00:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</el-card>
|
|
|
|
|
</div>
|
2022-04-12 02:33:06 +00:00
|
|
|
</div>
|
|
|
|
|
</template>
|
|
|
|
|
|
|
|
|
|
<script setup lang="ts">
|
2022-04-15 03:02:49 +00:00
|
|
|
import { apiSystemCache } from '@/api/setting'
|
|
|
|
|
import { reactive, ref, onMounted } from 'vue'
|
2022-04-14 08:22:13 +00:00
|
|
|
import Popup from '@/components/Popup/index.vue'
|
|
|
|
|
|
|
|
|
|
// 列表数据
|
|
|
|
|
let cacheDate = ref<Array<object>>([
|
|
|
|
|
{
|
|
|
|
|
content: '系统缓存',
|
|
|
|
|
desc: '系统运行过程中产生的各类缓存数据'
|
2022-04-12 02:33:06 +00:00
|
|
|
}
|
2022-04-14 08:22:13 +00:00
|
|
|
])
|
|
|
|
|
|
2022-04-15 03:02:49 +00:00
|
|
|
const formData = ref<any>({})
|
|
|
|
|
|
2022-04-14 08:22:13 +00:00
|
|
|
const statisticalData = reactive({
|
|
|
|
|
commandChartOption: {
|
|
|
|
|
tooltip: {
|
|
|
|
|
trigger: 'item'
|
|
|
|
|
// formatter: '{b} : {d}%'
|
|
|
|
|
},
|
|
|
|
|
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
label: {
|
2022-04-15 03:02:49 +00:00
|
|
|
show: true
|
2022-04-14 08:22:13 +00:00
|
|
|
},
|
|
|
|
|
labelLine: {
|
2022-04-15 03:02:49 +00:00
|
|
|
show: true
|
2022-04-14 08:22:13 +00:00
|
|
|
},
|
|
|
|
|
type: 'pie',
|
2022-04-15 03:02:49 +00:00
|
|
|
radius: '85%',
|
|
|
|
|
color: [
|
|
|
|
|
'#0D47A1',
|
|
|
|
|
'#1565C0',
|
|
|
|
|
'#1976D2',
|
|
|
|
|
'#1E88E5',
|
|
|
|
|
'#2196F3',
|
|
|
|
|
'#42A5F5',
|
|
|
|
|
'#64B5F6',
|
|
|
|
|
'#90CAF9',
|
|
|
|
|
'#BBDEFB',
|
|
|
|
|
'#E3F2FD',
|
|
|
|
|
'#CAF0F8',
|
|
|
|
|
'#ADE8F4',
|
|
|
|
|
'#90E0EF',
|
|
|
|
|
'#48CAE4',
|
|
|
|
|
'#00B4D8',
|
|
|
|
|
'#0096C7',
|
|
|
|
|
'#0077B6',
|
|
|
|
|
'#023E8A',
|
|
|
|
|
'#03045E',
|
|
|
|
|
'#8ecae6',
|
|
|
|
|
'#98c1d9',
|
|
|
|
|
'#D9ED92',
|
|
|
|
|
'#B5E48C',
|
|
|
|
|
'#99D98C',
|
|
|
|
|
'#76C893',
|
|
|
|
|
'#52B69A',
|
|
|
|
|
'#34A0A4',
|
|
|
|
|
'#168AAD',
|
|
|
|
|
'#1A759F',
|
|
|
|
|
'#1E6091',
|
|
|
|
|
'#184E77',
|
|
|
|
|
'#457b9d'
|
|
|
|
|
],
|
2022-04-14 08:22:13 +00:00
|
|
|
data: [
|
2022-04-15 03:02:49 +00:00
|
|
|
{
|
|
|
|
|
value: '',
|
|
|
|
|
name: ''
|
|
|
|
|
}
|
2022-04-14 08:22:13 +00:00
|
|
|
],
|
|
|
|
|
emphasis: {
|
|
|
|
|
itemStyle: {
|
|
|
|
|
shadowBlur: 10,
|
|
|
|
|
shadowOffsetX: 0,
|
|
|
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
]
|
2022-04-15 03:02:49 +00:00
|
|
|
},
|
|
|
|
|
|
|
|
|
|
memoryChartOption: {
|
|
|
|
|
tooltip: {
|
|
|
|
|
formatter: '{a} <br/>{b} : {c}%'
|
|
|
|
|
},
|
|
|
|
|
series: [
|
|
|
|
|
{
|
|
|
|
|
name: 'Pressure',
|
|
|
|
|
type: 'gauge',
|
|
|
|
|
radius: '100%',
|
|
|
|
|
detail: {
|
|
|
|
|
formatter: '{value}'
|
|
|
|
|
},
|
|
|
|
|
data: [
|
|
|
|
|
{
|
|
|
|
|
value: '',
|
|
|
|
|
name: '内存消耗'
|
|
|
|
|
}
|
|
|
|
|
]
|
|
|
|
|
}
|
|
|
|
|
]
|
2022-04-14 08:22:13 +00:00
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
|
2022-04-15 03:02:49 +00:00
|
|
|
const getSystemCache = async () => {
|
|
|
|
|
apiSystemCache({})
|
|
|
|
|
.then((res: any) => {
|
|
|
|
|
console.log(res)
|
|
|
|
|
formData.value = res.info
|
|
|
|
|
formData.value.dbSize = res.dbSize || ''
|
|
|
|
|
|
|
|
|
|
statisticalData.commandChartOption.series[0].data = res.commandStats
|
|
|
|
|
statisticalData.memoryChartOption.series[0].data = res.info.used_memory_human
|
|
|
|
|
console.log(res.info.used_memory_human, '-------------------------')
|
|
|
|
|
})
|
|
|
|
|
.catch((err: any) => {
|
|
|
|
|
console.log('err', err)
|
|
|
|
|
})
|
2022-04-14 08:22:13 +00:00
|
|
|
}
|
2022-04-15 03:02:49 +00:00
|
|
|
|
|
|
|
|
onMounted(() => {
|
|
|
|
|
getSystemCache()
|
|
|
|
|
})
|
2022-04-12 02:33:06 +00:00
|
|
|
</script>
|
|
|
|
|
|
2022-04-14 08:22:13 +00:00
|
|
|
<style lang="scss" scoped>
|
|
|
|
|
.statistical-chart {
|
|
|
|
|
display: flex;
|
|
|
|
|
justify-content: center;
|
2022-04-15 03:02:49 +00:00
|
|
|
height: 240px;
|
2022-04-14 08:22:13 +00:00
|
|
|
}
|
|
|
|
|
</style>
|