This commit is contained in:
zxr
2026-04-14 17:42:31 +08:00
parent 8db158c390
commit 55170bceb0
3 changed files with 221 additions and 258 deletions

View File

@@ -119,6 +119,11 @@ export interface HostMetricsDiskMount {
export interface HostMetricsCpuCard {
usage_percent: number
logical_cores_total: number
socket_count?: number
physical_cores_total?: number
physical_threads_total?: number
cores_per_socket?: number
threads_per_core?: number
}
export interface HostMetricsSummary {
@@ -163,3 +168,82 @@ export const fetchServerNetworkTraffic = (serverIdentity: string, hours = 6) =>
{ params: { server_identity: serverIdentity, hours } },
)
}
/** 虚拟机资产概览 */
export interface VirtualOverviewPayload {
vm_total: number
asset_group_total: number
online_total: number
latest_timestamp?: string
latest_cpu_usage_avg?: number
latest_mem_usage_avg?: number
}
/** 物理机 24h 趋势点 */
export interface PhysicalUsagePoint {
hour: string
cpu_used_percent_avg: number | null
mem_used_percent_avg: number | null
}
export interface PhysicalUsageTrendPayload {
hours: number
points: PhysicalUsagePoint[]
}
/** 资源总量项 */
export interface ResourceTotalGroup {
server_type: 'physical' | 'virtual'
server_count: number
total_vcpu: number
total_mem_bytes: number
}
/** 最新资源总量汇总 */
export interface LatestResourceSummaryPayload {
physical: ResourceTotalGroup
virtual: ResourceTotalGroup
}
/** 按资产聚合项 */
export interface AssetMixedSummaryItem {
asset_id: number
virtual_count: number
physical_count: number
physical_latest_cpu_usage?: number | null
physical_latest_mem_usage?: number | null
}
export interface AssetMixedSummaryPayload {
total: number
data: AssetMixedSummaryItem[]
}
/** 接口1虚拟机资产概览支持分类筛选 */
export const fetchVirtualOverview = (category?: string) => {
return request.get<{ code: number; details?: VirtualOverviewPayload; message?: string }>(
'/DC-Control/v1/servers/assets/virtual/overview',
{ params: { category } },
)
}
/** 接口2physical 近24小时 CPU/内存趋势 */
export const fetchPhysicalUsageTrend24h = () => {
return request.get<{ code: number; details?: PhysicalUsageTrendPayload; message?: string }>(
'/DC-Control/v1/servers/physical/usage/trend-24h',
)
}
/** 接口3physical/virtual 最新资源总量 */
export const fetchLatestResourceSummary = () => {
return request.get<{ code: number; details?: LatestResourceSummaryPayload; message?: string }>(
'/DC-Control/v1/servers/resources/latest/summary',
)
}
/** 接口4按资产汇总 virtual 数量与 physical 最新指标 */
export const fetchAssetMixedSummary = () => {
return request.get<{ code: number; details?: AssetMixedSummaryPayload; message?: string }>(
'/DC-Control/v1/servers/assets/mixed/summary',
)
}