- Dockerfile.embed 重命名为 Dockerfile(统一命名规范) - docker-compose.yml / run.sh 引用更新 - 全量文档(CLAUDE/AGENTS/README/docs)Dockerfile.embed → Dockerfile - fix: Login.tsx User 类型缺少 email/status 字段
4.9 KiB
4.9 KiB
AIOps 智能运维平台 - 项目总结
最新目录结构见 project-structure.md,部署见 deployment.md。
项目概述
AIOps 是一个企业级云原生智能运维平台,包含完整的前后端代码与独立 Agent 模块。平台聚焦资产管理、Kubernetes 管理、应用发布、监控告警、自动化运维、审批流程和 AI 智能分析。
项目结构
aiops/
├── frontend/ # React 19 + TypeScript + Vite
│ ├── src/api/ # API 封装(按菜单域拆分)
│ ├── src/pages/ # 复杂域级页面
│ ├── src/components/ # 业务组件 + layout(PageShell 等)
│ ├── src/locales/ # i18n 翻译 (zh-CN / en-US)
│ └── src/i18n/ # i18next 初始化
│
├── backend/ # Go 1.24 + Gin + GORM
│ ├── main.go # 应用入口
│ ├── embed.go # go:embed 前端静态资源
│ ├── controller/ # HTTP 处理器(60+ 文件)
│ ├── model/ # GORM 数据模型(86+ 表)
│ ├── router/ # 路由注册
│ └── pkg/ # agentcli / remoteexec / kubernetesclient 等
│
├── agent/ # 监控 Agent(独立 Go module)
├── docs/ # 开发文档 + Agent CLI 设计文档集
├── deploy/kubernetes/ # K8s 部署清单
├── Dockerfile # 推荐生产镜像
├── docker-compose.yml # 3 容器部署
└── run.sh # 统一入口脚本
功能特性
1. 仪表盘
- 资源概览统计、成本费用分析
- Top5 CPU/内存/磁盘使用率
- 证书到期提醒、最近告警和发布记录
- 国际化支持(dashboard 命名空间)
2. 服务器资产管理
- 服务器列表 CRUD、批量导入(云主机 / Excel)
- 远程 WebShell(WebSocket + PTY)
- 云账号 / 域名 / 区域 / 云平台 / 账单管理
- 资源模型管理
3. Kubernetes 集群管理
- 多集群接入、节点 / Pod / Workload 管理
- Deployment 三模式编辑器(表单 / YAML / 可视化)
- Pod 终端 / 文件浏览、拓扑架构图
- 国际化支持(k8s 命名空间,184+ 翻译键)
4. 监控告警
- 告警规则 / 事件 / 通知渠道 / 静默规则
- 主机指标采集(Agent 双通道)、SNMP / 站点拨测
- 中间件监控:Redis / MySQL 后端直连采集
- 日志中心:Loki / ES 统一查询、日志告警引擎
- Prometheus / Zabbix / Grafana 数据源代理
5. 应用发布
- CI/CD 流水线(GitLab CI 风格可视化)
- 发布配置 / 环境 / 权限管理
- SSH + K8s 双路径部署
- 凭证管理(7 种统一类型)
6. 自动化运维
- 定时任务(CronJob)、脚本库管理
- 远程执行(Go-native SSH,执行 / 上传)
- 任务执行记录
7. AIOps 智能
- AI 智能助手、告警分析、容量预测
- Agent CLI:ReAct 16 轮循环 + WebSocket 实时回传 + Evolver 自进化
- 大模型设置(OpenAI 兼容 + Anthropic Messages 双协议)
- 终端审计回放
8. 审批流程
- 审批模板 / 流程 / 分类 / 权限管理
- 云服务器 / 应用部署申请
- 国际化支持(approval 命名空间)
9. 系统管理
- 用户 / 角色 / RBAC 权限
- 操作审计 / 登录日志 / 终端会话审计
- LDAP 集成、凭证配置
- 7 套主题(CSS 变量驱动)
UI 设计系统
- PageShell:全站统一页面骨架(标题 / 指标条 / 工具栏 / Tab / 内容区)
- CSS 设计令牌:
dg-page*类名 +var(--dg-xxx)主题变量 - 7 套主题:跟随系统、深海蓝、明亮白 + One Dark / Dracula / Tokyo Night / Catppuccin
技术亮点
| 特性 | 说明 |
|---|---|
| 单二进制部署 | go:embed 嵌入前端,零外部依赖 |
| 轻量 K8s 客户端 | 自研 HTTP 客户端,不引入 client-go |
| Go-native SSH | 替代 Ansible,零新增依赖 |
| Agent 双通道 | 指标 10s 上报 + 任务 5s 轮询 |
| 凭证驱动 | 7 种凭证类型统一加密存储 |
| 工具懒加载 | kubectl / maven / helm 首次使用自动下载 |
| 国际化 | i18next 中/英双语,按模块命名空间管理 |
部署方式
| 方式 | 命令 | 说明 |
|---|---|---|
| 本地开发 | ./run.sh dev |
5173 + 8080 热重载 |
| 独立二进制 | ./run.sh build |
产出 ./aiops |
| Docker Compose | ./run.sh docker up |
MySQL + Redis + AIOps |
| Kubernetes | ./run.sh kubernetes deploy |
devops 命名空间 |
| 一键发版 | ./run.sh release v1.5.0 |
tag + 镜像 + 推送 |