init: EZOps AIOps 智能运维平台
- 前端: React 18 + TypeScript + Vite + Tailwind CSS + shadcn/ui - 后端: Go + Gin + GORM + JWT (golang-jwt/jwt/v5) - 功能: 服务器管理、K8s集群、监控告警、CI/CD、自动化运维、审批流程、审计日志 - 文档: 设计文档(ROADMAP/PDD/架构/模块)
This commit is contained in:
commit
7d6674bddd
156 files changed
+45704
No files matched your search
@@ -0,0 +1,267 @@
|
||||
# EZOps AIOps 智能运维平台 - 项目总结
|
||||
|
||||
## 项目概述
|
||||
|
||||
EZOps 是一个专业的 AIOps 智能运维平台,包含完整的前后端代码,支持云平台服务器资产管理、Kubernetes 集群管理、应用发布、监控告警、审批流程等核心功能。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
/mnt/okcomputer/output/
|
||||
├── app/ # 前端项目 (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
|
||||
Reference in new issue
Block a user