K8s Lab 把当前仓库文档整理成一个可阅读的网页站点

Repository Reading Site

运维模块 — 功能设计与页面规划

**运维 ≠ 只看监控。** 运维是平台可用性、性能、成本的第一责任人。 --- --- | 监控项 | 指标 | 告警阈值 | 工具 | |--------|------|---------|------| | **CPU** | 使用率 | > 85% 持续 5min | node-exporter | | **内存** | 使用率 | > 90% |

Markdownsaas-platform/docs/ops-module-design.md2026年4月9日 16:05

运维模块 — 功能设计与页面规划

一、运维在平台中的角色

平台用户看到的:
  "调个 API,秒回结果"

运维要保证的:
  GPU 不宕机、推理不超时、训练不排队太久、数据不丢失
  余额扣对了、证书没过期、磁盘没满、模型没漂移
  凌晨三点出了问题能在手机上看到告警并处理

运维 ≠ 只看监控。 运维是平台可用性、性能、成本的第一责任人。


二、运维体系全景

┌─────────────────────────────────────────────────────────────┐
│                        告警 & 响应                            │
│  告警规则 → 告警触发 → 通知(钉钉/飞书/Slack/电话) → 处理     │
├─────────────────────────────────────────────────────────────┤
│                        可观测三支柱                           │
│  Metrics(Prometheus)  Logs(Loki)  Traces(Jaeger/Tempo)      │
├─────────────────────────────────────────────────────────────┤
│                        监控对象                               │
│  基础设施 │ K8s 集群 │ GPU │ 平台服务 │ 推理服务 │ 业务指标  │
├─────────────────────────────────────────────────────────────┤
│                        运维操作                               │
│  集群管理 │ 节点管理 │ 发布管理 │ 配置管理 │ 备份恢复         │
└─────────────────────────────────────────────────────────────┘

三、监控层级

3.1 基础设施层

监控项 指标 告警阈值 工具
CPU 使用率 > 85% 持续 5min node-exporter
内存 使用率 > 90% node-exporter
磁盘 使用率 > 80% 告警, > 90% 严重 node-exporter
磁盘 IO IOPS / 延迟 延迟 > 100ms node-exporter
网络 带宽 / 丢包率 丢包 > 1% node-exporter
NFS 读写延迟 > 50ms 自定义 exporter
WireGuard 隧道状态 / 延迟 peer 超过 60s 无握手 wg show + 自定义

3.2 K8s 集群层

监控项 指标 告警阈值 工具
节点状态 Ready/NotReady 任何节点 NotReady kube-state-metrics
Pod 状态 Pending/CrashLoop/OOMKill Pending > 5min kube-state-metrics
Pod 重启 重启次数 任何 Pod 15min 内重启 > 3 次 kube-state-metrics
API Server 请求延迟 / 错误率 P99 > 1s 或 5xx > 1% apiserver metrics
etcd 磁盘延迟 / leader 切换 fsync > 100ms etcd metrics
CoreDNS 查询延迟 / 错误率 错误率 > 5% CoreDNS metrics
PVC 使用率 > 80% kubelet metrics
证书 到期时间 < 30 天 自定义检查

3.3 GPU 层

监控项 指标 告警阈值 工具
GPU 利用率 SM 利用率 % 推理 < 20% (浪费) DCGM Exporter
GPU 显存 已用 / 总量 > 95% DCGM Exporter
GPU 温度 摄氏度 > 85°C DCGM Exporter
GPU 功耗 瓦特 > TDP 90% DCGM Exporter
GPU 错误 ECC 错误计数 任何 uncorrectable error DCGM Exporter
GPU 状态 健康检查 任何卡 not healthy DCGM + 自定义
NVLink 带宽利用率 多卡推理时 < 50% (瓶颈) DCGM Exporter
DCGM Exporter (NVIDIA Data Center GPU Manager):
  以 DaemonSet 运行在每个 GPU 节点上
  暴露 /metrics 端点给 Prometheus 采集
  关键指标:
    DCGM_FI_DEV_GPU_UTIL       GPU 利用率
    DCGM_FI_DEV_FB_USED        已用显存
    DCGM_FI_DEV_FB_FREE        空闲显存
    DCGM_FI_DEV_GPU_TEMP       温度
    DCGM_FI_DEV_POWER_USAGE    功耗
    DCGM_FI_DEV_XID_ERRORS     XID 错误(硬件故障信号)

3.4 平台服务层

服务 监控项 告警阈值
API Gateway QPS / 延迟 / 错误率 / 限流触发数 5xx > 1%, P95 > 500ms
User Service 登录成功率 / 注册量 登录失败率 > 10%
Billing Service 扣费延迟 / 余额同步延迟 扣费队列 > 1000
Model Service 部署成功率 / CRD 处理延迟 部署失败率 > 5%
Training Service 任务排队时间 / 成功率 排队 > 2h, 失败率 > 20%
PostgreSQL 连接数 / 查询延迟 / 复制延迟 连接 > 80%, 复制延迟 > 10s
Redis 内存 / 连接数 / 命中率 内存 > 80%, 命中率 < 90%

3.5 推理服务层

监控项 指标 告警阈值 说明
首 Token 延迟 (TTFT) 毫秒 P95 > 1s 用户体感最直接的指标
Token 生成速度 (TPS) tokens/s < 10 t/s (7B模型) 太慢说明 GPU 过载
请求排队时间 毫秒 P95 > 5s 需要扩容
请求成功率 百分比 < 99% 检查 OOM/超时
并发请求数 数量 > max_concurrency 80% 即将触顶
KV Cache 利用率 百分比 > 90% 长上下文消耗 KV Cache
Batch 利用率 实际batch/最大batch < 30% 说明利用率低 可缩容
推理服务 SLA 定义:

┌──────────────┬──────────┬──────────┬──────────┐
│ 指标          │ 共享池    │ 独享标准  │ 独享高级  │
├──────────────┼──────────┼──────────┼──────────┤
│ 可用性        │ 99%      │ 99.9%    │ 99.95%   │
│ TTFT P95     │ 2s       │ 500ms    │ 200ms    │
│ TPS (7B)     │ 20+      │ 30+      │ 40+      │
│ 排队时间 P95  │ 10s      │ 1s       │ 100ms    │
│ 月度赔付      │ 无       │ 10x 故障时│ 100x     │
└──────────────┴──────────┴──────────┴──────────┘

3.6 业务指标层

指标 说明 看板位置
活跃租户数 24h 内有 API 调用的组织数 运营大盘
API 调用量 总 QPS / 按模型分 运营大盘
Token 消耗 日/周/月 Token 总量和趋势 运营大盘
收入 日/周/月 收入金额 运营大盘
GPU 利用率 整体 GPU 资源利用率 成本分析
GPU 成本/Token 每百万 Token 的 GPU 成本 成本分析
训练队列 排队任务数 / 平均等待时间 容量规划
新增注册 日新增用户/组织 增长分析
留存率 7日/30日 活跃留存 增长分析
充值金额 日/周/月 充值总额 财务

四、告警体系

4.1 告警级别

级别 含义 响应时间 通知方式
P0 Critical 平台不可用/数据丢失风险 5 分钟 电话 + 短信 + 群消息
P1 High 核心功能受损/大面积影响 15 分钟 短信 + 群消息
P2 Medium 部分功能异常/性能下降 1 小时 群消息
P3 Low 预警/趋势异常 当天 群消息

4.2 关键告警规则

# P0: 推理服务全部不可用
- alert: InferenceServiceDown
  expr: up{job="inference"} == 0
  for: 1m
  labels:
    severity: critical
  annotations:
    summary: "推理服务 {{ $labels.instance }} 不可用"
    runbook: "检查 Pod 状态 → 检查 GPU → 检查模型加载"

# P0: 节点宕机
- alert: NodeDown
  expr: up{job="node-exporter"} == 0
  for: 2m
  labels:
    severity: critical

# P1: GPU 错误
- alert: GPUXIDError
  expr: DCGM_FI_DEV_XID_ERRORS > 0
  for: 0m
  labels:
    severity: high
  annotations:
    summary: "GPU {{ $labels.gpu }} 发生 XID 错误,可能硬件故障"
    runbook: "1. 检查 dmesg 2. 迁移该卡上的任务 3. 联系硬件供应商"

# P1: 推理延迟飙升
- alert: InferenceLatencyHigh
  expr: histogram_quantile(0.95, rate(inference_request_duration_seconds_bucket[5m])) > 2
  for: 5m
  labels:
    severity: high
  annotations:
    summary: "推理 P95 延迟超过 2 秒"
    runbook: "1. 检查 QPS 是否突增 2. 检查 GPU 利用率 3. 考虑扩容"

# P1: 磁盘即将满
- alert: DiskAlmostFull
  expr: (node_filesystem_avail_bytes / node_filesystem_size_bytes) < 0.1
  for: 5m
  labels:
    severity: high

# P2: Pod 频繁重启
- alert: PodCrashLooping
  expr: rate(kube_pod_container_status_restarts_total[15m]) > 0.2
  for: 5m
  labels:
    severity: medium

# P2: 训练排队过长
- alert: TrainingQueueTooLong
  expr: training_queue_length > 10
  for: 30m
  labels:
    severity: medium
  annotations:
    summary: "训练队列积压 {{ $value }} 个任务"
    runbook: "考虑增加 GPU 节点或调整调度策略"

# P3: 证书即将过期
- alert: CertificateExpiringSoon
  expr: (cert_expiry_timestamp - time()) / 86400 < 30
  for: 1h
  labels:
    severity: low

# P3: GPU 利用率过低 (浪费)
- alert: GPUUnderutilized
  expr: avg_over_time(DCGM_FI_DEV_GPU_UTIL[1h]) < 20
  for: 6h
  labels:
    severity: low
  annotations:
    summary: "GPU {{ $labels.gpu }} 过去 6 小时平均利用率仅 {{ $value }}%"
    runbook: "考虑缩容或合并推理实例"

4.3 告警通知渠道

┌────────────┐     ┌──────────────┐     ┌────────────────────┐
│ Prometheus │────→│ Alertmanager │────→│ 通知渠道            │
│ 触发规则    │     │ 分组/抑制/静默│     │                    │
└────────────┘     └──────────────┘     │ ├── 飞书/钉钉群机器人│
                                        │ ├── Slack Webhook    │
                                        │ ├── 邮件             │
                                        │ ├── 短信 (阿里云SMS) │
                                        │ ├── 电话 (P0级)      │
                                        │ └── PagerDuty/Opsgenie│
                                        └────────────────────┘

告警分组:
  同一个服务的多条告警合并为一条通知(避免告警风暴)

告警抑制:
  节点宕机 → 抑制该节点上所有 Pod 的告警(因为根因是节点)

告警静默:
  计划维护时临时静默相关告警

值班表:
  周一~周五: 张三 (白班) / 李四 (夜班)
  周末: 王五
  电话升级: 5分钟无人响应 → 自动电话通知备份值班人

4.4 Runbook (运维手册)

每条告警关联一个 Runbook,包含:

1. 告警含义: 这个告警意味着什么
2. 影响范围: 哪些用户/服务受影响
3. 排查步骤: 第一步看什么、第二步看什么
4. 修复方案: 具体怎么操作
5. 升级流程: 什么时候需要叫更多人
6. 历史案例: 之前出过类似问题的记录

示例 Runbook — InferenceLatencyHigh:
  1. 打开 Grafana 推理监控面板
  2. 看是全部模型还是单个模型延迟高
  3. 检查 QPS → 是否突增(被某个租户刷了?)
  4. 检查 GPU 利用率 → 是否已经 100%
  5. 如果 QPS 突增 → 检查哪个租户 → 是否触发限流
  6. 如果 GPU 满载 → 手动扩容副本数
  7. 如果扩容后仍不下降 → 检查模型是否有问题
  8. 如果 10分钟内无法解决 → 升级给 @架构师

五、运维操作

5.1 集群管理

操作 说明 风险 审批
添加节点 新 GPU 服务器加入集群 无需
下线节点 drain → 迁移 Pod → 移除 需审批
K8s 升级 1.30 → 1.31 需审批+维护窗口
etcd 备份/恢复 定期备份,灾难恢复 自动备份,恢复需审批
证书轮换 K8s/etcd/Webhook 证书 计划任务

5.2 发布管理

平台服务发布流程:

1. 代码合并到 main 分支
2. CI 构建镜像 → 推送到 Harbor
3. 更新 Git 仓库中的 manifests(镜像 tag)
4. ArgoCD 检测到变更
5. 自动同步 staging 环境
6. 在 staging 跑自动化测试
7. 人工审批 → ArgoCD 同步 production
8. 灰度发布(5% → 20% → 50% → 100%)
9. 监控核心指标 15 分钟
10. 确认无异常 → 发布完成

回滚:
  ArgoCD 一键回滚到上一个 Git commit
  或 Helm rollback
  自动化: 发布后如果 5xx 率 > 阈值,自动回滚

5.3 容量规划

GPU 容量规划公式:

需要的 GPU 数 = 
  (峰值 QPS × 平均生成 Token 数) / 单卡 TPS / 目标利用率

示例:
  峰值 QPS: 100
  平均生成: 200 tokens
  单卡 TPS (A10, 7B): 30 tokens/s
  目标利用率: 70%

  GPU 数 = (100 × 200) / 30 / 0.7 = 952 → 需要 32 张 A10

  加上冗余 (N+1): 33 张
  加上训练需求: +8 张
  总计: ~41 张 A10 或等价 GPU

5.4 成本优化

策略 节省幅度 实现方式
量化推理 30-50% INT8/INT4 减少 GPU 需求
多 LoRA 共享 50-70% 一张卡同时服务多个微调模型
Serverless 缩容 按需 空闲时缩到 0,不付 GPU 费用
Spot 实例 60-80% 训练任务用 spot GPU,可被抢占
请求合并 (Batching) 20-40% vLLM continuous batching
KV Cache 复用 10-20% prefix caching,相同 system prompt 复用
模型蒸馏 因模型而异 用大模型的输出训练小模型

5.5 灾难恢复

故障级别:

Level 1: 单 Pod 故障
  → K8s 自动重启/重调度
  → 用户无感知
  → 不需要人工介入

Level 2: 单节点故障
  → K8s 5分钟后驱逐 Pod 到其他节点
  → 推理可能短暂排队(HPA 扩容中)
  → 训练从 Checkpoint 恢复
  → 值班人员检查原因

Level 3: 多节点故障 / 网络分区
  → 手动介入,评估影响范围
  → 切换到备用节点/备用集群
  → 通知受影响租户

Level 4: 全集群不可用
  → 从 etcd 备份恢复
  → 或切换到灾备集群
  → 启动应急响应流程
  → CEO 级通知

备份策略:
  etcd:       每 6 小时自动备份,保留 7 天
  PostgreSQL: 每天全量 + WAL 增量,保留 30 天
  模型文件:   S3 三副本 + 跨区复制
  训练数据:   S3 三副本
  配置:       Git 版本控制 (ArgoCD)

六、页面设计

6.1 页面总览

运维管理后台
│
├── 运维总览 (Dashboard)
├── 集群管理
│   ├── 节点列表
│   ├── 节点详情
│   └── 集群操作(升级/备份)
├── GPU 管理
│   ├── GPU 资源池总览
│   ├── GPU 节点详情
│   └── GPU 分配策略
├── 服务管理
│   ├── 平台服务列表
│   ├── 推理实例管理
│   └── 训练任务管理
├── 监控中心
│   ├── 基础设施监控
│   ├── 推理服务监控
│   ├── 业务指标大盘
│   └── 自定义看板
├── 告警中心
│   ├── 活跃告警
│   ├── 告警历史
│   ├── 告警规则管理
│   ├── 通知渠道配置
│   └── 值班表
├── 日志中心
│   ├── 日志搜索
│   ├── 日志聚合分析
│   └── 日志告警
├── 发布管理
│   ├── 发布记录
│   ├── 灰度发布
│   └── 回滚
├── 配置管理
│   ├── 模型上架配置
│   ├── 计费价格配置
│   └── 限流规则配置
└── 容量与成本
    ├── 容量规划
    ├── 成本分析
    └── 资源利用率报告

6.2 运维总览 Dashboard

┌──────────────────────────────────────────────────────────────────┐
│ 运维总览                                 最后更新: 10秒前  [刷新]│
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│ ── 平台状态 ──                                                   │
│                                                                  │
│ 🟢 API Gateway    🟢 User Service    🟢 Billing Service         │
│ 🟢 Model Service  🟢 Training Svc    🟡 Gitea (重启中)          │
│ 🟢 PostgreSQL     🟢 Redis           🟢 Harbor                  │
│                                                                  │
│ ── 核心指标 ──                                                   │
│                                                                  │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐            │
│ │ 总 QPS   │ │ 推理延迟  │ │ 成功率    │ │ 活跃租户  │            │
│ │   452    │ │ P95 320ms│ │  99.8%   │ │   128    │            │
│ │ ↑12%     │ │ ─ 稳定   │ │ ─ 正常   │ │ ↑5%      │            │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘            │
│                                                                  │
│ ── GPU 资源 ──                                                   │
│                                                                  │
│ ┌──────────────────────────────────────────────────────────────┐ │
│ │ 总计: 24 GPU                                                 │ │
│ │ A10  ████████████████░░░░░░  12/16 (75%)  推理:9 训练:3     │ │
│ │ A100 ████████████░░░░░░░░░░  4/8   (50%)  推理:2 训练:2     │ │
│ │ H100 ████████████████████░░  2/2   (100%) 训练:2  ⚠ 已满   │ │
│ └──────────────────────────────────────────────────────────────┘ │
│                                                                  │
│ ── 活跃告警 ──                                                   │
│                                                                  │
│ 🔴 P1  GPU gpu-07 XID 错误 (31分钟前)              [处理 →]     │
│ 🟡 P2  训练队列积压 8 个任务 (2小时前)              [查看 →]     │
│ 🟡 P3  GPU gpu-04#3 过去6h利用率仅15%              [查看 →]     │
│                                                                  │
│ ── QPS 趋势 (24h) ──         ── 推理延迟 P95 (24h) ──          │
│                                                                  │
│  600│     ╱╲    ╱╲           │ 800│                              │
│  400│  ╱╲╱  ╲╱╱  ╲╱╲        │ 600│              ╱╲              │
│  200│╱╱              ╲╲      │ 400│    ╱╲──────╱╱  ╲╲            │
│    0│                  ╲     │ 200│╱╲╱╱                          │
│     0:00  6:00 12:00 18:000:00  6:00 12:00 18:00         │
│                                                                  │
│ ── 今日运维事件 ──                                               │
│ 09:15  张三  扩容推理实例 qwen-7b 35 副本                      │
│ 08:30  系统  自动 etcd 备份完成 (32MB)                           │
│ 03:00  系统  告警: gpu-07 XID 错误                               │
│ 01:00  系统  训练任务 acme-cs-v4 完成                             │
└──────────────────────────────────────────────────────────────────┘

6.3 GPU 管理页

┌──────────────────────────────────────────────────────────────────┐
│ GPU 资源池                                       [+ 添加节点]     │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│ 总览: 24 GPU │ 已用 18 (75%) │ 空闲 5 │ 异常 1                   │
│ 今日 GPU 成本: ¥1,850  │  本月累计: ¥42,300                      │
│                                                                  │
│ ┌─ gpu-node-01 ─────────────────────────────────────────────┐   │
│ │ A10 24G × 4   │  LA   │  🟢 正常                          │   │
│ │                                                            │   │
│ │ GPU 0: █████████░ 89%  推理 qwen-7b-shared pod-abc       │   │
│ │ GPU 1: ██████░░░░ 62%  推理 qwen-7b-shared pod-def       │   │
│ │ GPU 2: ████████░░ 78%  训练 acmecorp-cs-v4               │   │
│ │ GPU 3: ░░░░░░░░░░  0%  空闲                               │   │
│ │                                                            │   │
│ │ CPU: 45% │ 内存: 62% │ 磁盘: 35% │ 网络: 2.3Gbps         │   │
│ └────────────────────────────────────────────────────────────┘   │
│                                                                  │
│ ┌─ gpu-node-05 ─────────────────────────────────────────────┐   │
│ │ A100 80G × 4  │  LA   │  🟢 正常                          │   │
│ │                                                            │   │
│ │ GPU 0: ████████░░ 82%  推理 qwen-72b-shared pod-ghi      │   │
│ │        显存: 72/80G    温度: 72°C                          │   │
│ │ GPU 1: ████████░░ 78%  推理 qwen-72b-shared pod-ghi (TP)│   │
│ │        显存: 70/80G    温度: 70°C                          │   │
│ │ GPU 2: █████████░ 91%  训练 bigcorp-legal-v1              │   │
│ │        显存: 75/80G    温度: 75°C                          │   │
│ │ GPU 3: ██████░░░░ 58%  训练 bigcorp-legal-v1 (DP)       │   │
│ │        显存: 65/80G    温度: 68°C                          │   │
│ └────────────────────────────────────────────────────────────┘   │
│                                                                  │
│ ┌─ gpu-node-07 ─────────────────────────────────────────────┐   │
│ │ H100 80G × 2  │  LA   │  🔴 异常                          │   │
│ │                                                            │   │
│ │ GPU 0: ████████░░ 85%  训练 deeplearn-llm-pretrain       │   │
│ │ GPU 1: 🔴 XID Error 79  需要维护                          │   │
│ │                                                            │   │
│ │ 告警: GPU 1 发生 XID 79 错误 (落中内存错误)    [查看详情]  │   │
│ │ 建议: 迁移该卡上的任务,安排硬件检查            [迁移任务]  │   │
│ └────────────────────────────────────────────────────────────┘   │
│                                                                  │
│ ── GPU 利用率热力图 (最近24h) ──                                 │
│                                                                  │
│            0h  2h  4h  6h  8h  10h 12h 14h 16h 18h 20h 22h     │
│ gpu-01#0  ░░  ░░  ██  ██  ██  ██  ██  ██  ██  ██  ██  ██      │
│ gpu-01#1  ░░  ░░  ░░  ██  ██  ██  ██  ██  ██  ██  ░░  ░░      │
│ gpu-01#2  ██  ██  ██  ██  ██  ██  ██  ██  ██  ██  ██  ██      │
│ gpu-01#3  ░░  ░░  ░░  ░░  ░░  ░░  ░░  ░░  ░░  ░░  ░░  ░░      │
│ ...       ░=空闲 ▓=中等 █=高负载                                 │
└──────────────────────────────────────────────────────────────────┘

6.4 告警中心

┌──────────────────────────────────────────────────────────────────┐
│ 告警中心                                                          │
├──────────────────────────────────────────────────────────────────┤
│ [活跃告警 (3)] [已处理] [已静默] [告警规则] [通知配置] [值班表]    │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│ 活跃告警: 1 Critical1 High1 Low                            │
│                                                                  │
│ 🔴 Critical  GPUXIDError                           31分钟前      │
│   gpu-node-07 GPU 1 发生 XID 79 错误(双位 ECC 错误)            │
│   影响: 该卡上的训练任务可能产出错误结果                          │
│   Runbook: 1.迁移任务 2.重启 GPU 3.跑 memtest 4.联系供应商       │
│   处理人: 未认领                [认领] [静默 1h] [查看 Runbook]   │
│                                                                  │
│ 🟡 High  TrainingQueueTooLong                      2小时前       │
│   训练队列积压 8 个任务,预计等待 2.5 小时                       │
│   影响: 新提交的训练任务需要等待较长时间                          │
│   建议: 增加 GPU 节点或提升高优先级任务调度权重                   │
│   处理人: 张三 (已认领)         [处理中] [备注]                   │
│   备注: 已申请 2A10 临时节点,预计 1 小时内到位               │
│                                                                  │
│ 🔵 Low  GPUUnderutilized                           6小时前       │
│   gpu-node-01 GPU 3 过去 6 小时平均利用率 0%                     │
│   建议: 考虑调度推理负载到该卡,或缩减节点                       │
│                                        [已知忽略] [创建工单]     │
│                                                                  │
└──────────────────────────────────────────────────────────────────┘

6.5 日志搜索页

┌──────────────────────────────────────────────────────────────────┐
│ 日志中心                                                          │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│ 查询: {namespace="inference-shared"} |= "error" | json          │
│ 时间: [最近 1 小时 ▼]                                [搜索]      │
│                                                                  │
│ 快捷过滤:                                                        │
│ Namespace: [全部▼]  Pod: [全部▼]  Level: [error▼]                │
│                                                                  │
│ ── 结果 (1,234 条) ──                                            │
│                                                                  │
│ 15:32:01 inference-shared/qwen-7b-xxx-abc  [ERROR]               │
│   Request timeout after 120s, model=qwen2.5-7b,                 │
│   prompt_tokens=4096, org_id=acmecorp                            │
│                                                                  │
│ 15:31:58 inference-shared/qwen-7b-xxx-abc  [ERROR]               │
│   CUDA out of memory. Tried to allocate 256 MiB.                │
│   GPU 0 has 24 GiB total, 23.2 GiB allocated.                  │
│                                                                  │
│ 15:31:45 inference-shared/qwen-7b-xxx-def  [ERROR]               │
│   Connection refused: billing-service:8080                       │
│                                                                  │
│ ── 日志趋势 ──                                                   │
│                                                                  │
│  50│     ╱╲                                                     │
│  30│  ╱╲╱  ╲                                                    │
│  10│╱╱      ╲─────────                                          │
│    └────────────────────                                         │
│    14:30  14:45  15:00  15:15  15:30                             │
│                                                                  │
│ 导出: [下载 CSV] [创建告警规则] [分享链接]                        │
└──────────────────────────────────────────────────────────────────┘

6.6 成本分析页

┌──────────────────────────────────────────────────────────────────┐
│ 成本分析                                     [本月 ▼] [导出报告] │
├──────────────────────────────────────────────────────────────────┤
│                                                                  │
│ ── 本月成本概览 ──                                               │
│                                                                  │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐            │
│ │ GPU 成本 │ │ 存储成本  │ │ 网络成本  │ │ 总成本    │            │
│ │ ¥42,300  │ │ ¥1,200   │ │ ¥800     │ │ ¥44,300  │            │
│ │ ↑8%      │ │ ↑15%     │ │ ─ 持平   │ │ ↑9%      │            │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘            │
│                                                                  │
│ ── GPU 成本 vs 收入 ──                                           │
│                                                                  │
│ ¥60K│                          ╱── 收入                         │
│ ¥40K│            ╱─── ──── ───╱                                 │
│ ¥20K│     ╱─────╱ ─ ─ ─── GPU 成本                              │
│     └──────────────────────────                                  │
│      Jan  Feb  Mar  Apr                                          │
│                                                                  │
│ 毛利率: 62%  (收入¥116K - GPU成本¥44K = 毛利¥72K)               │
│                                                                  │
│ ── 按模型拆分 ──                                                 │
│                                                                  │
│ 模型            GPU 成本    收入     毛利    利用率  GPU/百万Token│
│ qwen-7b         ¥15,200    ¥38,000  60%    72%    ¥0.40        │
│ qwen-14b        ¥10,500    ¥25,000  58%    65%    ¥0.42        │
│ qwen-72b        ¥12,000    ¥42,000  71%    82%    ¥0.29  最优  │
│ deepseek-v3     ¥4,600     ¥11,000  58%    88%    ¥0.42        │
│                                                                  │
│ ── 优化建议 ──                                                   │
│                                                                  │
│ 💡 qwen-7b 利用率 72%,考虑启用 INT8 量化节省 1 张 A10          │
│    预计节省: ¥3,800/月                                           │
│ 💡 gpu-node-01 GPU#3 长期空闲,建议调度推理负载                  │
│    预计节省: ¥2,400/月                                           │
│ 💡 训练任务集中在白天,夜间 GPU 空闲率 60%                       │
│    建议: 训练任务夜间优惠价,引导用户错峰                         │
└──────────────────────────────────────────────────────────────────┘

七、页面汇总

序号 页面 路由 优先级
1 运维总览 Dashboard /admin/overview P0
2 节点列表 /admin/nodes P0
3 节点详情 /admin/nodes/:id P0
4 GPU 资源池总览 /admin/gpu-pool P0
5 GPU 节点详情 /admin/gpu-pool/:id P0
6 GPU 分配策略 /admin/gpu-pool/policy P1
7 平台服务列表 /admin/services P0
8 推理实例管理 /admin/inference P0
9 训练任务管理 /admin/training P0
10 基础设施监控 /admin/monitoring/infra P0
11 推理服务监控 /admin/monitoring/inference P0
12 业务指标大盘 /admin/monitoring/business P0
13 活跃告警 /admin/alerts P0
14 告警历史 /admin/alerts/history P1
15 告警规则管理 /admin/alerts/rules P0
16 通知渠道配置 /admin/alerts/channels P0
17 值班表 /admin/alerts/oncall P1
18 日志搜索 /admin/logs P0
19 发布记录 /admin/releases P1
20 模型上架配置 /admin/config/models P0
21 计费价格配置 /admin/config/pricing P0
22 限流规则配置 /admin/config/ratelimit P1
23 容量规划 /admin/capacity P1
24 成本分析 /admin/cost P1
25 etcd 备份管理 /admin/backup P1