Files
aiops/docs/PROJECT_SUMMARY.md
T
attacker 97c4207ff8 refactor: 标准化项目结构 frontend/ + backend/ + SQLite + run.sh
- 目录重构: app/ -> frontend/,与 backend/ 并列
- 数据库: 默认 SQLite(零配置),修复 DSN() bug
- run.sh: 一键启动前后端,支持 start/stop/restart/status
- Makefile: install/dev/build/lint/clean 快捷命令
- vite.config.ts: 配置 dev server 端口 5173 + API 代理到 8080
- config.yaml: SQLite 默认配置,开箱即用
- docs/: 完整开发文档(项目结构/API/数据库/规范/部署)
- 修复: GORM foreign key 关联声明
- 修复: go get gorm.io/driver/sqlite 依赖
2026-06-13 23:34:23 +08:00

268 lines
6.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# EZOps AIOps 智能运维平台 - 项目总结
## 项目概述
EZOps 是一个专业的 AIOps 智能运维平台,包含完整的前后端代码,支持云平台服务器资产管理、Kubernetes 集群管理、应用发布、监控告警、审批流程等核心功能。
## 项目结构
```
/mnt/okcomputer/output/
├── frontend/ # 前端项目 (React + TypeScript + Vite)
│ ├── src/
│ │ ├── components/ # 组件目录
│ │ │ ├── layout/ # 布局组件
│ │ │ ├── dashboard/ # 仪表盘组件
│ │ │ ├── server/ # 服务器管理组件
│ │ │ ├── cloud/ # 云资源管理组件
│ │ │ ├── k8s/ # K8s 管理组件
│ │ │ ├── monitor/ # 监控告警组件
│ │ │ ├── deploy/ # 应用发布组件
│ │ │ ├── approval/ # 审批流程组件
│ │ │ ├── navigation/ # 站内导航组件
│ │ │ ├── automation/ # 自动化运维组件
│ │ │ ├── system/ # 系统管理组件
│ │ │ └── ui/ # UI 组件库
│ │ ├── mocks/ # Mock 数据
│ │ ├── store/ # 状态管理
│ │ ├── types/ # TypeScript 类型定义
│ │ ├── hooks/ # 自定义 Hooks
│ │ ├── lib/ # 工具函数
│ │ ├── App.tsx # 应用入口
│ │ └── main.tsx # 主入口
│ ├── package.json
│ ├── vite.config.ts
│ ├── tailwind.config.js
│ └── ...
│
├── backend/ # 后端项目 (Go + Gin)
│ ├── cmd/
│ │ └── main.go # 应用入口
│ ├── internal/
│ │ ├── api/
│ │ │ ├── handlers/ # HTTP 处理器
│ │ │ ├── middleware/ # 中间件
│ │ │ └── routes/ # 路由注册
│ │ ├── config/ # 配置管理
│ │ └── models/ # 数据模型
│ ├── pkg/
│ │ ├── database/ # 数据库连接
│ │ └── logger/ # 日志工具
│ ├── scripts/ # 脚本文件
│ ├── config.yaml.example # 配置文件示例
│ ├── docker-compose.yml # Docker Compose 配置
│ ├── Dockerfile # Docker 构建文件
│ ├── Makefile # 构建脚本
│ ├── nginx.conf # Nginx 配置
│ ├── go.mod # Go 模块定义
│ └── README.md # 项目说明
│
├── BACKEND_SUMMARY.md # 后端项目详细说明
└── PROJECT_SUMMARY.md # 项目总结(本文档)
```
## 功能特性
### 1. 仪表盘
- 资源概览统计
- 成本费用分析(按云平台、按月维度)
- 告警消息展示
- Top5 CPU/内存/磁盘使用率
- 证书到期提醒
- 最近告警和发布记录
### 2. 服务器资产管理
- 服务器列表管理
- 批量导入(云主机导入、Excel 导入)
- 远程 WebShell
- 资源模型管理
- 云账号管理
- 域名管理(SSL 证书到期提醒)
- 区域管理
- 云平台管理
### 3. Kubernetes 集群管理
- 集群管理
- 节点管理
- Pod 管理
- Deployment 详情
- Service 详情
- Ingress 详情
- 拓扑架构图
### 4. 监控告警
- 告警规则管理
- 告警事件处理
- 通知渠道配置
- 指标数据展示
### 5. 应用发布
- CI/CD 流水线管理
- 发布审批流程
- 发布记录追踪
- 回滚功能
### 6. 自动化运维
- 定时任务(CronJob)
- 脚本库管理
- 任务执行记录
- Playbook 编排
### 7. 审批流程
- 审批模板管理
- 审批流程创建
- 审批/驳回操作
### 8. 站内导航
- 导航分组管理
- 导航链接管理
- 收藏功能
### 9. 审计日志
- 操作日志记录
- 日志查询、筛选
- 日志导出
- 日志统计
- 日志清理
### 10. 系统管理
- 用户管理
- 角色权限管理
- 系统设置
## 技术栈
### 前端
- **框架**: React 18
- **语言**: TypeScript
- **构建工具**: Vite
- **样式**: Tailwind CSS
- **UI 组件**: shadcn/ui
- **状态管理**: Zustand
- **数据获取**: TanStack Query (React Query)
- **路由**: React Router
- **图表**: Recharts
- **图标**: Lucide React
### 后端
- **框架**: Gin Web Framework
- **语言**: Go 1.21+
- **ORM**: GORM
- **数据库**: MySQL 8.0+ / PostgreSQL 14+
- **缓存**: Redis (可选)
- **认证**: JWT
- **日志**: Zap
- **配置**: Viper
- **文档**: Swagger
## 快速开始
### 前端
```bash
cd app
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
```
### 后端
```bash
cd backend
# 安装依赖
go mod download
# 复制配置文件
cp config.yaml.example config.yaml
# 启动数据库
docker-compose up -d mysql redis
# 运行
go run cmd/main.go
# 或使用 Makefile
make run
```
## API 文档
启动后端服务后,访问 http://localhost:8080/swagger/index.html 查看 Swagger API 文档。
## 部署
### Docker 部署
```bash
# 前端
cd app
docker build -t ezops-frontend .
docker run -p 80:80 ezops-frontend
# 后端
cd backend
docker build -t ezops-backend .
docker run -p 8080:8080 -v $(pwd)/config.yaml:/app/config.yaml ezops-backend
# 或使用 Docker Compose
docker-compose up -d
```
## 默认账号
- **用户名**: admin
- **密码**: admin123
## 注意事项
1. 生产环境请修改默认的 JWT Secret 和数据库密码
2. 建议启用 HTTPS
3. 配置适当的日志轮转策略
4. 定期备份数据库
5. 启用审计日志功能
## 开发计划
### 已完成
- [x] 前端项目搭建
- [x] 后端项目搭建
- [x] 用户认证系统
- [x] 服务器资产管理
- [x] K8s 集群管理
- [x] 监控告警系统
- [x] 应用发布系统
- [x] 自动化运维
- [x] 审批流程
- [x] 站内导航
- [x] 审计日志
### 待完成
- [ ] WebSocket 实时通知
- [ ] 云平台 API 集成
- [ ] K8s 集群实际连接
- [ ] 告警通知渠道集成
- [ ] 流水线实际执行
- [ ] 自动化任务调度
- [ ] 更多图表和报表
- [ ] 多语言支持
## 贡献指南
1. Fork 本仓库
2. 创建特性分支 (`git checkout -b feature/xxx`)
3. 提交更改 (`git commit -am 'Add xxx'`)
4. 推送到分支 (`git push origin feature/xxx`)
5. 创建 Pull Request
## 许可证
MIT License