feat(监控): 新增监控模块API接口层
- 新增服务器监控API接口和类型定义 - 新增Redis监控API接口和类型定义 - 新增缓存管理API接口和类型定义 - 新增在线用户监控API接口和类型定义 - 新增定时任务监控API接口和类型定义 - 统一API响应格式和错误处理机制
This commit is contained in:
parent
e5ad68f1ff
commit
a6ce521255
55
src/service/api/monitor/cache/index.ts
vendored
Normal file
55
src/service/api/monitor/cache/index.ts
vendored
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
import { request } from '@/service/http'
|
||||||
|
import type { DeleteCacheKeyBo, GetCacheValueBo, SysCacheVo } from './types'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询Redis缓存所有Key
|
||||||
|
*/
|
||||||
|
export function getRedisCache() {
|
||||||
|
return request.Get<Service.ResponseResult<SysCacheVo[]>>('/coder/monitor/cache/getRedisCache')
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 查询Redis缓存键名列表
|
||||||
|
*/
|
||||||
|
export function getCacheKeys(cacheName: string) {
|
||||||
|
// 对缓存名称进行URL编码,处理冒号等特殊字符
|
||||||
|
const encodedCacheName = encodeURIComponent(cacheName)
|
||||||
|
return request.Get<Service.ResponseResult<string[]>>(`/coder/monitor/cache/getCacheKeys/${encodedCacheName}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取Redis缓存内容
|
||||||
|
*/
|
||||||
|
export function getCacheValue(data: GetCacheValueBo) {
|
||||||
|
return request.Post<Service.ResponseResult<SysCacheVo>>('/coder/monitor/cache/getValue', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除Redis指定名称缓存
|
||||||
|
*/
|
||||||
|
export function deleteCacheName(cacheName: string) {
|
||||||
|
// 对缓存名称进行URL编码,处理冒号等特殊字符
|
||||||
|
const encodedCacheName = encodeURIComponent(cacheName)
|
||||||
|
return request.Post<Service.ResponseResult<void>>(`/coder/monitor/cache/deleteCacheName/${encodedCacheName}`)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除Redis指定键名缓存
|
||||||
|
*/
|
||||||
|
export function deleteCacheKey(data: DeleteCacheKeyBo) {
|
||||||
|
return request.Post<Service.ResponseResult<void>>('/coder/monitor/cache/deleteCacheKey', data)
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 删除Redis所有信息
|
||||||
|
*/
|
||||||
|
export function deleteCacheAll() {
|
||||||
|
return request.Post<Service.ResponseResult<void>>('/coder/monitor/cache/deleteCacheAll')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重新导出类型供外部使用
|
||||||
|
export type {
|
||||||
|
DeleteCacheKeyBo,
|
||||||
|
GetCacheValueBo,
|
||||||
|
SysCacheVo,
|
||||||
|
} from './types'
|
||||||
33
src/service/api/monitor/cache/types.ts
vendored
Normal file
33
src/service/api/monitor/cache/types.ts
vendored
Normal file
@ -0,0 +1,33 @@
|
|||||||
|
/**
|
||||||
|
* 缓存管理相关类型定义
|
||||||
|
*/
|
||||||
|
|
||||||
|
// 缓存信息
|
||||||
|
export interface SysCacheVo {
|
||||||
|
/** 缓存名称 */
|
||||||
|
cacheName: string
|
||||||
|
/** 缓存键名 */
|
||||||
|
cacheKey?: string
|
||||||
|
/** 缓存内容 */
|
||||||
|
cacheValue?: string
|
||||||
|
/** 缓存过期时间 */
|
||||||
|
expireTime?: string
|
||||||
|
/** 备注信息 */
|
||||||
|
remark?: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 获取缓存内容请求参数
|
||||||
|
export interface GetCacheValueBo {
|
||||||
|
/** 缓存名称 */
|
||||||
|
cacheName: string
|
||||||
|
/** 缓存键名 */
|
||||||
|
cacheKey: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 删除缓存键请求参数
|
||||||
|
export interface DeleteCacheKeyBo {
|
||||||
|
/** 缓存名称 */
|
||||||
|
cacheName?: string
|
||||||
|
/** 缓存键名 */
|
||||||
|
cacheKey: string
|
||||||
|
}
|
||||||
15
src/service/api/monitor/redis/index.ts
Normal file
15
src/service/api/monitor/redis/index.ts
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
import { request } from '@/service/http'
|
||||||
|
import type { RedisInfoVo } from './types'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取Redis监控信息
|
||||||
|
*/
|
||||||
|
export function getRedisInformation() {
|
||||||
|
return request.Get<Service.ResponseResult<RedisInfoVo>>('/coder/monitor/redis/getRedisInformation')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重新导出类型供外部使用
|
||||||
|
export type {
|
||||||
|
RedisCommandStatVo,
|
||||||
|
RedisInfoVo,
|
||||||
|
} from './types'
|
||||||
21
src/service/api/monitor/redis/types.ts
Normal file
21
src/service/api/monitor/redis/types.ts
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
/**
|
||||||
|
* Redis监控相关类型定义
|
||||||
|
*/
|
||||||
|
|
||||||
|
// Redis命令统计项
|
||||||
|
export interface RedisCommandStatVo {
|
||||||
|
/** 命令名称 */
|
||||||
|
name: string
|
||||||
|
/** 调用次数 */
|
||||||
|
value: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// Redis监控信息
|
||||||
|
export interface RedisInfoVo {
|
||||||
|
/** Redis基本信息 */
|
||||||
|
info: Record<string, any>
|
||||||
|
/** 数据库大小 */
|
||||||
|
dbSize: number
|
||||||
|
/** 命令统计 */
|
||||||
|
commandStats: RedisCommandStatVo[]
|
||||||
|
}
|
||||||
19
src/service/api/monitor/server/index.ts
Normal file
19
src/service/api/monitor/server/index.ts
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
import { request } from '@/service/http'
|
||||||
|
import type { ServerVo } from './types'
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 获取服务器监控信息
|
||||||
|
*/
|
||||||
|
export function getServerInformation() {
|
||||||
|
return request.Get<Service.ResponseResult<ServerVo>>('/coder/monitor/server/getServerInformation')
|
||||||
|
}
|
||||||
|
|
||||||
|
// 重新导出类型供外部使用
|
||||||
|
export type {
|
||||||
|
CpuVo,
|
||||||
|
JvmVo,
|
||||||
|
MemVo,
|
||||||
|
ServerVo,
|
||||||
|
SysFileVo,
|
||||||
|
SysVo,
|
||||||
|
} from './types'
|
||||||
123
src/service/api/monitor/server/types.ts
Normal file
123
src/service/api/monitor/server/types.ts
Normal file
@ -0,0 +1,123 @@
|
|||||||
|
/**
|
||||||
|
* 服务器监控相关类型定义
|
||||||
|
*/
|
||||||
|
|
||||||
|
// CPU信息
|
||||||
|
export interface CpuVo {
|
||||||
|
/** 核心数 */
|
||||||
|
cpuNum: number
|
||||||
|
/** CPU总的使用率 */
|
||||||
|
total: number
|
||||||
|
/** CPU系统使用率 */
|
||||||
|
sys: number
|
||||||
|
/** CPU用户使用率 */
|
||||||
|
used: number
|
||||||
|
/** CPU当前等待率 */
|
||||||
|
wait: number
|
||||||
|
/** CPU当前空闲率 */
|
||||||
|
free: number
|
||||||
|
/** CPU使用率百分比 */
|
||||||
|
cpuUsage: number
|
||||||
|
/** CPU系统使用率百分比 */
|
||||||
|
sysUsage: number
|
||||||
|
/** CPU用户使用率百分比 */
|
||||||
|
userUsage: number
|
||||||
|
/** CPU等待率百分比 */
|
||||||
|
waitUsage: number
|
||||||
|
/** CPU空闲率百分比 */
|
||||||
|
freeUsage: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 内存信息
|
||||||
|
export interface MemVo {
|
||||||
|
/** 内存总量 */
|
||||||
|
total: number
|
||||||
|
/** 已用内存 */
|
||||||
|
used: number
|
||||||
|
/** 剩余内存 */
|
||||||
|
free: number
|
||||||
|
/** 内存使用率 */
|
||||||
|
usage: number
|
||||||
|
/** 总内存(格式化) */
|
||||||
|
totalStr: string
|
||||||
|
/** 已用内存(格式化) */
|
||||||
|
usedStr: string
|
||||||
|
/** 剩余内存(格式化) */
|
||||||
|
freeStr: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// JVM信息
|
||||||
|
export interface JvmVo {
|
||||||
|
/** 当前JVM占用的内存总数(M) */
|
||||||
|
total: number
|
||||||
|
/** JVM最大可用内存总数(M) */
|
||||||
|
max: number
|
||||||
|
/** JVM空闲内存(M) */
|
||||||
|
free: number
|
||||||
|
/** JDK版本 */
|
||||||
|
version: string
|
||||||
|
/** JDK路径 */
|
||||||
|
home: string
|
||||||
|
/** JVM已用内存 */
|
||||||
|
used: number
|
||||||
|
/** JVM内存使用率 */
|
||||||
|
usage: number
|
||||||
|
/** 总内存(格式化) */
|
||||||
|
totalStr: string
|
||||||
|
/** 已用内存(格式化) */
|
||||||
|
usedStr: string
|
||||||
|
/** 剩余内存(格式化) */
|
||||||
|
freeStr: string
|
||||||
|
/** 最大内存(格式化) */
|
||||||
|
maxStr: string
|
||||||
|
/** JVM启动时间 */
|
||||||
|
startTime: string
|
||||||
|
/** JVM运行时间 */
|
||||||
|
runTime: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 系统信息
|
||||||
|
export interface SysVo {
|
||||||
|
/** 服务器名称 */
|
||||||
|
computerName: string
|
||||||
|
/** 服务器IP */
|
||||||
|
computerIp: string
|
||||||
|
/** 项目路径 */
|
||||||
|
userDir: string
|
||||||
|
/** 操作系统 */
|
||||||
|
osName: string
|
||||||
|
/** 系统架构 */
|
||||||
|
osArch: string
|
||||||
|
}
|
||||||
|
|
||||||
|
// 磁盘文件信息
|
||||||
|
export interface SysFileVo {
|
||||||
|
/** 盘符路径 */
|
||||||
|
dirName: string
|
||||||
|
/** 盘符类型 */
|
||||||
|
sysTypeName: string
|
||||||
|
/** 文件类型 */
|
||||||
|
typeName: string
|
||||||
|
/** 总大小 */
|
||||||
|
total: string
|
||||||
|
/** 剩余大小 */
|
||||||
|
free: string
|
||||||
|
/** 已经使用量 */
|
||||||
|
used: string
|
||||||
|
/** 资源的使用率 */
|
||||||
|
usage: number
|
||||||
|
}
|
||||||
|
|
||||||
|
// 服务器信息
|
||||||
|
export interface ServerVo {
|
||||||
|
/** CPU相关信息 */
|
||||||
|
cpu: CpuVo
|
||||||
|
/** 内存相关信息 */
|
||||||
|
mem: MemVo
|
||||||
|
/** JVM相关信息 */
|
||||||
|
jvm: JvmVo
|
||||||
|
/** 服务器相关信息 */
|
||||||
|
sys: SysVo
|
||||||
|
/** 磁盘相关信息 */
|
||||||
|
sysFiles: SysFileVo[]
|
||||||
|
}
|
||||||
Loading…
Reference in New Issue
Block a user