接入运维真实 metrics:负载、请求错误率与服务探测

- 新增 GET /admin/ops/metrics 与进程内请求统计中间件
- 运维页展示 CPU/内存/磁盘、24h 曲线与 WS/DB/存储状态
- 去掉未使用的消息队列占位项
This commit is contained in:
yml2213
2026-07-15 15:01:18 +08:00
parent a1336c630b
commit 9251815695
14 changed files with 797 additions and 248 deletions
+49
View File
@@ -90,6 +90,55 @@ export interface AdminStats {
recent_logs?: OperationLog[]
}
/** 平台运维实时指标(当前 API 实例) */
export interface OpsServiceStatus {
name: string
status: 'normal' | 'warning' | 'error' | string
detail?: string
latency_ms?: number
connections?: number
}
export interface OpsMetrics {
overall: 'normal' | 'warning' | 'error' | string
updated_at: string
instance: string
uptime_sec: number
services: OpsServiceStatus[]
load: {
cpu_percent: number
mem_percent: number
disk_percent: number
cpu_cores: number
mem_total_mb: number
mem_used_mb: number
disk_total_gb: number
disk_used_gb: number
go_goroutines: number
go_heap_mb: number
}
api: {
requests_last_24h: number[]
error_rate_last_24h: number[]
hours: number[]
qps: number
error_rate_now: number
window_requests: number
window_errors: number
total_requests: number
total_errors: number
total_5xx: number
in_flight: number
}
websocket: {
connections: number
agents: number
visitors: number
}
}
export const getOpsMetrics = () => get<OpsMetrics>('/admin/ops/metrics')
export interface StatisticsKpis {
total_sessions: number
avg_response_time: number