feat(运维监控): 重构仪表板布局和增强数据展示

主要改动:
- 重构仪表板为左右布局(5:7比例)
- 左侧:健康评分 + 实时信息(当前/峰值/平均 QPS/TPS)
- 右侧:6个卡片展示详细指标(3列x2行)
  - 总请求:请求数、Token数、平均QPS/TPS、平均延迟/TTFT
  - SLA:百分比、异常数、进度条
  - 延迟:P99/P95/P90/P50/Avg/Max(带颜色编码)
  - TTFT:P99/P95/P90/P50/Avg/Max(带颜色编码)
  - 请求错误:错误率、错误数、业务限制数
  - 上游错误:错误率、错误数(排除429/529)、429/529数
- 添加延迟/TTFT颜色编码(<500ms绿色,<1s黄色,<2s橙色,≥2s红色)
- 添加实时窗口选择器(1min/5min/30min/1h)
- 优化时间段选择器标签("近5分钟"等)
- 完善中英文i18n翻译
- 数据库:添加Redis连接池字段(redis_conn_total, redis_conn_idle)
This commit is contained in:
IanShaw027
2026-01-10 02:17:38 +08:00
parent 585257d340
commit c48dc097ff
5 changed files with 1104 additions and 111 deletions

View File

@@ -1737,6 +1737,8 @@ export default {
active: 'active',
idle: 'idle',
waiting: 'waiting',
conns: 'conns',
queue: 'queue',
ok: 'ok',
lastRun: 'last_run:',
lastSuccess: 'last_success:',
@@ -1750,6 +1752,17 @@ export default {
tps: 'TPS:',
current: 'current',
peak: 'peak',
average: 'average',
totalRequests: 'Total Requests',
avgQps: 'Avg QPS',
avgTps: 'Avg TPS',
avgLatency: 'Avg Latency',
avgTtft: 'Avg TTFT',
exceptions: 'Exceptions',
requestErrors: 'Request Errors',
errorCount: 'Error Count',
upstreamErrors: 'Upstream Errors',
errorCountExcl429529: 'Error Count (excl 429/529)',
sla: 'SLA (excl business limits)',
businessLimited: 'business_limited:',
errors: 'Errors',
@@ -1792,6 +1805,42 @@ export default {
healthyStatus: 'Healthy',
riskyStatus: 'At Risk',
idleStatus: 'Idle',
realtime: {
title: 'Realtime',
connected: 'Connected',
connecting: 'Connecting',
reconnecting: 'Reconnecting',
offline: 'Offline',
closed: 'Closed',
reconnectIn: 'Reconnect in {seconds}s'
},
tooltips: {
qps: 'Queries per second - real-time request rate',
sla: 'Service Level Agreement - percentage of requests within acceptable latency',
latency: 'Request duration from start to finish',
ttft: 'Time to First Token - latency until first response token',
errors: 'Request errors within SLA scope',
upstreamErrors: 'Errors from upstream services (excluding rate limits)',
totalRequests: 'Total requests and tokens consumed in this time window',
cpu: 'CPU usage percentage',
memory: 'Memory usage percentage',
db: 'Database connection pool status',
redis: 'Redis connection pool status',
goroutines: 'Go routine count (concurrent tasks)',
jobs: 'Background job health status'
},
timeRange: {
'5m': 'Last 5 minutes',
'30m': 'Last 30 minutes',
'1h': 'Last 1 hour',
'6h': 'Last 6 hours',
'24h': 'Last 24 hours'
},
queryMode: {
auto: 'Auto',
raw: 'Raw Query',
preagg: 'Pre-aggregated'
},
diagnosis: {
title: 'Smart Diagnosis',
footer: 'Automated diagnostic suggestions based on current metrics',