From 8b3bd98e68b5241263aede5c27e82718686edcd3 Mon Sep 17 00:00:00 2001 From: zxr <271055687@qq.com> Date: Sat, 11 Apr 2026 20:03:06 +0800 Subject: [PATCH] fix --- src/api/ops/alertRecord.ts | 4 +- src/api/ops/server.ts | 64 ++ src/router/local-menu-flat.ts | 16 + src/router/local-menu-items.ts | 17 + src/views/ops/pages/monitor/os/index.vue | 827 +++++++++++++++++++++++ 5 files changed, 927 insertions(+), 1 deletion(-) create mode 100644 src/views/ops/pages/monitor/os/index.vue diff --git a/src/api/ops/alertRecord.ts b/src/api/ops/alertRecord.ts index 3701971..b06c0bd 100644 --- a/src/api/ops/alertRecord.ts +++ b/src/api/ops/alertRecord.ts @@ -10,7 +10,9 @@ export const fetchAlertRecords = (data: { severity_id?: number, start_time?: string, end_time?: string, - keyword?: string + keyword?: string, + sort?: string, + order?: string, }) => { return request.get("/Alert/v1/record/list", { params: data }); }; diff --git a/src/api/ops/server.ts b/src/api/ops/server.ts index 7f839e8..0275aa6 100644 --- a/src/api/ops/server.ts +++ b/src/api/ops/server.ts @@ -97,3 +97,67 @@ export const updateServer = (id: number, data: Partial) => { export const deleteServer = (id: number) => { return request.delete<{ message: string }>(`/DC-Control/v1/servers/${id}`) } + +/** 主机最新指标摘要(统计卡片,与 dc-control /servers/metrics/summary 一致) */ +export interface HostMetricsUseStat { + total_bytes: number + used_bytes: number + free_bytes: number + used_percent: number +} + +export interface HostMetricsDiskMount { + mount: string + total_bytes: number + used_bytes: number + free_bytes: number + used_percent: number +} + +export interface HostMetricsCpuCard { + usage_percent: number + logical_cores_total: number +} + +export interface HostMetricsSummary { + server_identity: string + timestamp?: string + has_data: boolean + memory?: HostMetricsUseStat + disk_root?: HostMetricsDiskMount + data_disks?: HostMetricsDiskMount[] + cpu?: HostMetricsCpuCard +} + +export interface HostNetworkTrafficPoint { + time: string + recv_mbps: number + send_mbps: number +} + +export interface HostNetworkTrafficPayload { + server_identity: string + hours: number + /** 时间窗内是否有主机采集写入的网络累计指标行 */ + has_data: boolean + /** 是否已根据相邻采样差分算出速率曲线(至少两个采样点) */ + has_rate_series?: boolean + points: HostNetworkTrafficPoint[] + note: string +} + +/** 最新一批主机指标(用于监控大屏卡片) */ +export const fetchServerMetricsSummary = (serverIdentity: string) => { + return request.get<{ code: number; details?: HostMetricsSummary; message?: string }>( + '/DC-Control/v1/servers/metrics/summary', + { params: { server_identity: serverIdentity } }, + ) +} + +/** 近 N 小时网络收/发速率(Mbps,相邻采样字节差分) */ +export const fetchServerNetworkTraffic = (serverIdentity: string, hours = 6) => { + return request.get<{ code: number; details?: HostNetworkTrafficPayload; message?: string }>( + '/DC-Control/v1/servers/metrics/network-traffic', + { params: { server_identity: serverIdentity, hours } }, + ) +} diff --git a/src/router/local-menu-flat.ts b/src/router/local-menu-flat.ts index d1b87d5..948a41e 100644 --- a/src/router/local-menu-flat.ts +++ b/src/router/local-menu-flat.ts @@ -211,6 +211,22 @@ export const localMenuFlatItems: MenuItem[] = [ sort_key: 14, created_at: '2025-12-26T13:23:51.892569+08:00', }, + { + id: 12020, + identity: '019c7100-0001-7000-8000-000000000020', + title: '操作系统监控', + title_en: 'OS Monitoring', + code: 'ops:综合监控:操作系统监控', + description: '综合监控 - 操作系统资源与流量、告警', + app_id: 2, + parent_id: 23, + menu_path: '/monitor/os', + menu_icon: 'appstore', + component: 'ops/pages/monitor/os', + type: 1, + sort_key: 13.5, + created_at: '2026-04-11T10:00:00+08:00', + }, { id: 27, identity: '019b591d-01a5-776f-ac4b-3cd896dd3f48', diff --git a/src/router/local-menu-items.ts b/src/router/local-menu-items.ts index 5ac42bf..65c98ce 100644 --- a/src/router/local-menu-items.ts +++ b/src/router/local-menu-items.ts @@ -226,6 +226,23 @@ export const localMenuItems: MenuItem[] = [ created_at: '2025-12-26T13:23:51.892569+08:00', children: [], }, + { + id: 12020, + identity: '019c7100-0001-7000-8000-000000000020', + title: '操作系统监控', + title_en: 'OS Monitoring', + code: 'ops:综合监控:操作系统监控', + description: '综合监控 - 操作系统资源与流量、告警', + app_id: 2, + parent_id: 23, + menu_path: '/monitor/os', + menu_icon: 'appstore', + component: 'ops/pages/monitor/os', + type: 1, + sort_key: 5, + created_at: '2026-04-11T10:00:00+08:00', + children: [], + }, { id: 27, identity: '019b591d-01a5-776f-ac4b-3cd896dd3f48', diff --git a/src/views/ops/pages/monitor/os/index.vue b/src/views/ops/pages/monitor/os/index.vue new file mode 100644 index 0000000..cfbd6f2 --- /dev/null +++ b/src/views/ops/pages/monitor/os/index.vue @@ -0,0 +1,827 @@ + + + + + + +