# 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