Files
aiops/PROJECT_EVALUATION.md
T
attacker e29dfb5868 docs: 全量重新评估 — PROJECT_EVALUATION/ROADMAP/TDD_PLAN 清空重写
基于全项目深度审计(96,102 行 / 374 文件),从 K8s 专项开发全面转向:

PROJECT_EVALUATION.md:
- 全量评估 8 大功能模块(资产/K8s/发布/监控/自动化/AIOps/审批/系统)
- 技术债清单:前端 1026 处 any + 后端 4204 行 kubernetes.go + 1324 行 api.ts
- Mock API 缺口:dashboardApi(6) / traceApi(3) / alertCenterApi.silence(1)
- 综合评分 83/100

ROADMAP.md:
- P0 工程质量:Q1 类型安全治理 / Q2 kubernetes.go 拆分 / Q3 api.ts 拆分
- P1 功能补全:F1 告警静默 / F2 审计导出 / F3 前端 RBAC
- P2 架构优化:A1 K8s 路由统一 / A2 告警分布式 / A3 WebSocket 管理
- P3 用户体验:U1 虚拟滚动 / U2 DataTable / U3 i18n / U4 镜像优化

TDD_PLAN.md:
- P0-P1 每个模块完整验证用例
- 回归测试基线(10 个核心 API 端点)
- 全部改用 Python urllib(避免 shell 引号问题)
2026-06-25 01:09:32 +08:00

9.2 KiB
Raw Blame History

AIOps 智能运维平台 — 全量项目评估

最后审计: 2026-06-25 | 审计范围: 全项目(后端/前端/Agent/部署) | 审计人: AI + Logan


一、项目规模总览

层 文件数 代码行数 语言/框架
后端 116 个 .go 34,485 Go 1.24 / Gin / GORM / MySQL 8 / Redis 7
前端 237 个 .tsx/.ts 58,648 React 19 / TypeScript / Vite / Tailwind / shadcn/ui
Agent 21 个 .go 2,969 Go 1.24 静态编译 (CGO_ENABLED=0)
合计 374 96,102 —

关键指标

指标 数量
后端 API 路由 411 条(GET 171 / POST 144 / DELETE 54 / PUT 41 / PATCH 1)
后端业务模块 48 个(handlers 目录)
数据库表 86 张 GORM 映射表
前端 API 方法 352 个(31 个模块)
前端路由 ~50 条(45 个 lazy 组件,零空壳)
前端组件 215 个
Agent 采集器 11 个(CPU/Memory/Swap/Disk/DiskIO/Network/Port/ProcessTop/FD/ContextSwitch/HealthProbe)
侧边栏菜单 9 个一级 / 42 个二级

二、功能模块评估

2.1 资产管理 ✅ 完善

功能 后端 前端 状态
服务器 CRUD + CSV 批量导入 ✅ ✅ ServerManager (609L) ✅
WebShell SSH 终端 ✅ webshell.go (325L) ✅ xterm.js WebSocket ✅
云账号管理(AWS/阿里/华为) ✅ cloud_sync.go (277L) ✅ CloudAccountManager ✅
域名/区域/平台管理 ✅ ✅ ✅
云账单 ✅ billing.go (307L) ✅ ✅
Agent 管理(安装/卸载/升级) ✅ agent.go(624L) + agent_install.go(514L) ✅ AgentWizard + HostMonitor ✅

2.2 Kubernetes 管理 ✅ 功能完备

功能 后端 前端 状态
多集群 CRUD + 同步 + metrics ✅ kubernetes.go (4204L, 134 函数) ✅ ClusterOverviewPage ✅
Deployment 三模式编辑器 ✅ GetYAML/UpdateYAML ✅ DeploymentWorkload (773L) + 5 Tab 编辑器 (~2700L) ✅
StatefulSet/DaemonSet 详情 ✅ ✅ WorkloadViewPage (480L) ✅
Pod 日志/终端/文件浏览 ✅ WebSocket channel.k8s.io ✅ PodLogsViewer/PodExecTerminal/PodFileBrowser ✅
Node 详情(资源分配率) ✅ GetNodeDetail ✅ NodeDetailPage (330L) ✅
事件聚合看板 ✅ GetEventsSummary ✅ EventsPage (480L, recharts) ✅
多集群对比 ✅ GetMultiClusterComparison ✅ ClusterComparePage (360L) ✅
Namespace 管理 CRUD ✅ GetNamespacesDetail ✅ NamespaceManagementPage (280L) ✅
kubectl 终端 ✅ PTY ✅ KubectlTerminal ✅
ConfigMap/Secret 编辑 ✅ UpdateResourceYAMLNS ✅ YamlViewer(CodeMirror 6) ✅
YAML 语法高亮编辑器 ✅ ✅ CodeMirror 6 ✅

2.3 应用发布 ✅ 完善

功能 后端 前端 状态
CI/CD 流水线(GitLab CI 风格) ✅ pipeline.go(580L) + pipeline_executor.go(665L) ✅ PipelineManager(961L) + PipelineEditor(602L) ✅
SSH 主机 + Kubernetes 双路径 ✅ ✅ 流水线横幅 ✅
发布配置/凭证/工具 ✅ credential.go(400L) ✅ CredentialManager(822L) ✅
发布权限 RBAC ✅ ✅ ✅

2.4 监控告警 ⚠️ 部分缺口

功能 后端 前端 状态
主机监控(Agent 上报) ✅ agent.go + health_probe.go ✅ HostMonitor (1094L, 7 Tab) ✅
告警规则引擎 ✅ alert_engine.go (424L) ✅ AlertCenter (662L) ✅
告警通知(飞书/钉钉/企微/Webhook) ✅ alert_channels.go (483L) ✅ AlertContact 管理 ✅
Prometheus 数据源 + 代理 ✅ prometheus_datasource.go + proxy ✅ PrometheusDatasourceManager(829L) ✅
Zabbix 数据源 + 代理 ✅ zabbix_proxy.go (284L) ✅ ✅
监控大屏(Grafana 嵌入) ❌ 无后端 ⚠️ dashboardApi 6 个方法 mock 桩 ❌ 需后端
链路追踪 ❌ 无后端 ⚠️ traceApi 3 个方法 mock 桩 ❌ 需后端
告警静默 ❌ 无后端 ⚠️ alertCenterApi.silence 硬编码 ❌ 需后端

2.5 自动化运维 ✅ 完善

功能 后端 前端 状态
定时任务(CronJob) ✅ automation_cron.go (411L) ✅ CronJobManager ✅
脚本库(Shell/Python) ✅ automation_script.go (356L) ✅ ScriptManager ✅
远程执行(Go-native SSH) ✅ remote_exec.go (309L) ✅ ✅
Ansible Playbook ✅ ansible.go (462L) ✅ AnsibleWorkflow(886L) ✅

2.6 AIOps 智能 ✅ 基础完善

功能 后端 前端 状态
AI 智能助手(6 种 LLM) ✅ llm_chat.go (349L, SSE 流式) ✅ AIOpsAssistant(694L) ✅
告警分析 ✅ ✅ ✅
容量预测 ✅ ✅ ✅

2.7 资源申请 ✅ 完善

功能 后端 前端 状态
云服务器申请审批 ✅ ✅ ✅
应用部署申请 ✅ ✅ ✅

2.8 系统管理 ✅ 完善

功能 后端 前端 状态
用户/角色权限 (RBAC) ✅ user.go + user_admin.go + ldap.go(319L) ✅ SystemManager ✅
LDAP 集成 ✅ ldap.go + ldap_users.go(397L) ✅ ✅
操作审计 ✅ audit.go (360L) ✅ ⚠️ 导出功能 TODO
终端审计(WebSSH 录制) ✅ ✅ ✅
凭证管理 ✅ credential.go(400L) ✅ ✅
系统设置 ✅ ✅ ✅

三、技术债评估

3.1 🔴 高优先级

问题 影响 范围 建议优先级
kubernetes.go 4204 行/134 函数 维护困难,合并冲突高发 后端 P0
api.ts 1324 行/352 方法 前端 API 层难以维护 前端 P0
前端 1026 处 any 类型 类型安全缺失,重构风险高 前端全局 P0
K8s 双路由体系(集群域+Kuboard 域) 路由冗余 104 条 后端 P1
25 个 ≥500 行巨型组件 拆分困难 前端 P1

3.2 🟡 中优先级

问题 数量 建议优先级
前端未使用变量/导入(ESLint no-unused-vars) 218 处 P1
前端 console.log/console.error 93 处(含 token 泄露风险) P1
前端 React Hooks exhaustive-deps 缺失 38 处 P1
后端 _ = 忽略错误 13 处(3 处中风险) P2
前端硬编码内网 IP(10.10.10.75 等) 6+ 处 P2
后端告警引擎单实例 + 无优雅退出 多副本会重复告警 P2
后端审计导出(CSV/Excel)TODO 1 处 P2

3.3 🟢 低优先级

问题 数量
前端 set-state-in-effect(潜在无限循环) 7 处
前端 react-hooks/purity(render 调 Date.now) 6 处
前端死代码(HostMonitorDashboard lazy 未挂载) 1 处
后端 exec.Command + bash -c(命令注入面) 18 处(需审计用户输入路径)

3.4 Mock API / 未对接后端

前端 API 模块 方法数 状态 需要
dashboardApi(Grafana 大屏) 6 mock 返回空 后端 Grafana iframe/embed
traceApi(链路追踪) 3 mock 返回空 后端 Jaeger/Tempo 集成
alertCenterApi.silence 1 硬编码 {success:true} 后端静默规则 CRUD

四、架构评估

4.1 部署架构

方式 架构 容器数 状态
Docker Compose MySQL+Redis+Backend+Nginx 4 ✅
Kubernetes Embed 单容器 + MySQL/Redis StatefulSet 3+ ✅
独立二进制 Go embed 前端 1 ✅

4.2 镜像体积

镜像 大小 评估
aiops-backend 277 MB ⚠️ 偏大(含 Agent 编译工具链)
aiops-frontend 69.8 MB ✅ Nginx Alpine
aiops-embed 54.9 MB ✅ 单文件

4.3 数据库架构

  • 86 张表,前缀规范统一:iam_ / asset_ / monitor_ / ops_ / deploy_ / ai_ / sys_ / kubernetes_
  • GORM AutoMigrate,UTF-8MB4
  • 已做索引审计(20 个重复索引已清理)

4.4 安全

项 状态
JWT 认证 ✅
RBAC 角色权限(后端) ✅
RBAC 前端按钮级控制 ❌ 缺失
SQL 注入防护 ✅ 全参数化
XSS 防护 ✅ React 默认
HTTPS ⚠️ 生产未强制
密码 Bcrypt ✅

五、综合评分

维度 评分 说明
功能完整性 88/100 8 大模块齐全,K8s 管理极为完善;扣分项:监控大屏/链路追踪/告警静默未对接
代码质量 72/100 后端规范好(0 panic, 1 TODO);前端 1026 处 any + 218 处未用变量是主要扣分项
架构设计 82/100 前后端分离清晰,自研轻量 K8s 客户端;扣分项:kubernetes.go/api.ts 巨型文件
部署运维 85/100 三种部署方式 + run.sh 统一入口;扣分项:后端镜像偏大,告警引擎单实例
用户体验 86/100 骨架屏 + 页面过渡 + 5 套主题 + 懒加载;扣分项:无 i18n,无虚拟滚动
综合 83/100 企业级运维平台,功能覆盖全面,工程治理是当前首要提升方向