6.5 KiB
6.5 KiB
AIOps 智能运维平台 - 项目总结
项目概述
AIOps 是一个专业的 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
快速开始
前端
cd app
# 安装依赖
npm install
# 启动开发服务器
npm run dev
# 构建生产版本
npm run build
后端
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 部署
# 前端
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
注意事项
- 生产环境请修改默认的 JWT Secret 和数据库密码
- 建议启用 HTTPS
- 配置适当的日志轮转策略
- 定期备份数据库
- 启用审计日志功能
开发计划
已完成
- 前端项目搭建
- 后端项目搭建
- 用户认证系统
- 服务器资产管理
- K8s 集群管理
- 监控告警系统
- 应用发布系统
- 自动化运维
- 审批流程
- 站内导航
- 审计日志
待完成
- WebSocket 实时通知
- 云平台 API 集成
- K8s 集群实际连接
- 告警通知渠道集成
- 流水线实际执行
- 自动化任务调度
- 更多图表和报表
- 多语言支持
贡献指南
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/xxx) - 提交更改 (
git commit -am 'Add xxx') - 推送到分支 (
git push origin feature/xxx) - 创建 Pull Request
许可证
MIT License