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,315 @@
|
||||
# EZOps 后端项目总结
|
||||
|
||||
## 项目概述
|
||||
|
||||
EZOps 后端是一个基于 Go + Gin 框架开发的专业 AIOps 智能运维平台 API 服务。
|
||||
|
||||
## 项目结构
|
||||
|
||||
```
|
||||
backend/
|
||||
├── cmd/
|
||||
│ └── main.go # 应用入口
|
||||
├── internal/
|
||||
│ ├── api/
|
||||
│ │ ├── handlers/ # HTTP 处理器
|
||||
│ │ │ ├── user.go # 用户管理
|
||||
│ │ │ ├── server.go # 服务器管理
|
||||
│ │ │ ├── dashboard.go # 仪表盘
|
||||
│ │ │ ├── k8s.go # K8s 管理
|
||||
│ │ │ ├── alert.go # 监控告警
|
||||
│ │ │ ├── pipeline.go # 流水线/发布
|
||||
│ │ │ ├── automation.go # 自动化运维
|
||||
│ │ │ ├── approval.go # 审批流程
|
||||
│ │ │ ├── navigation.go # 站内导航
|
||||
│ │ │ └── audit.go # 审计日志
|
||||
│ │ ├── middleware/ # 中间件
|
||||
│ │ │ └── auth.go # JWT 认证、管理员权限
|
||||
│ │ └── routes/ # 路由注册
|
||||
│ │ └── routes.go
|
||||
│ ├── config/ # 配置管理
|
||||
│ │ └── config.go
|
||||
│ └── models/ # 数据模型
|
||||
│ ├── user.go # 用户、角色、权限
|
||||
│ ├── server.go # 服务器、云账号、域名
|
||||
│ ├── k8s.go # K8s 相关模型
|
||||
│ ├── alert.go # 告警相关模型
|
||||
│ ├── cicd.go # CI/CD 相关模型
|
||||
│ ├── automation.go # 自动化运维模型
|
||||
│ ├── approval.go # 审批流程模型
|
||||
│ ├── navigation.go # 导航模型
|
||||
│ ├── audit.go # 审计日志模型
|
||||
│ └── common.go # 通用响应模型
|
||||
├── pkg/
|
||||
│ ├── database/ # 数据库连接
|
||||
│ │ └── database.go
|
||||
│ └── logger/ # 日志工具
|
||||
│ └── logger.go
|
||||
├── scripts/ # 脚本文件
|
||||
│ ├── init.sql # 数据库初始化脚本
|
||||
│ └── mock.go # Mock 数据生成
|
||||
├── config.yaml.example # 配置文件示例
|
||||
├── docker-compose.yml # Docker Compose 配置
|
||||
├── Dockerfile # Docker 构建文件
|
||||
├── Makefile # 构建脚本
|
||||
├── nginx.conf # Nginx 配置
|
||||
├── go.mod # Go 模块定义
|
||||
├── go.sum # Go 模块校验
|
||||
├── .gitignore # Git 忽略文件
|
||||
└── README.md # 项目说明
|
||||
```
|
||||
|
||||
## 功能模块
|
||||
|
||||
### 1. 用户管理
|
||||
- 用户注册、登录、登出
|
||||
- JWT Token 认证
|
||||
- 用户信息管理
|
||||
- 角色权限管理
|
||||
|
||||
### 2. 资产管理
|
||||
- 服务器资产 CRUD
|
||||
- 批量导入(云主机、Excel)
|
||||
- 云账号管理(阿里云、腾讯云、AWS、华为云)
|
||||
- 域名管理(SSL 证书到期提醒)
|
||||
- 区域管理
|
||||
|
||||
### 3. Kubernetes 管理
|
||||
- 集群管理
|
||||
- 节点管理
|
||||
- Pod 管理
|
||||
- Deployment 详情
|
||||
- Service 详情
|
||||
- Ingress 详情
|
||||
|
||||
### 4. 监控告警
|
||||
- 告警规则管理
|
||||
- 告警事件处理
|
||||
- 通知渠道配置
|
||||
- 仪表盘指标展示
|
||||
|
||||
### 5. 应用发布
|
||||
- CI/CD 流水线管理
|
||||
- 发布审批流程
|
||||
- 发布记录追踪
|
||||
- 回滚功能
|
||||
|
||||
### 6. 自动化运维
|
||||
- 定时任务(CronJob)
|
||||
- 脚本库管理
|
||||
- 任务执行记录
|
||||
- Playbook 编排
|
||||
|
||||
### 7. 审批流程
|
||||
- 审批模板管理
|
||||
- 审批流程创建
|
||||
- 审批/驳回操作
|
||||
|
||||
### 8. 站内导航
|
||||
- 导航分组管理
|
||||
- 导航链接管理
|
||||
- 收藏功能
|
||||
|
||||
### 9. 审计日志
|
||||
- 操作日志记录
|
||||
- 日志查询、筛选
|
||||
- 日志导出
|
||||
- 日志统计
|
||||
- 日志清理
|
||||
|
||||
## API 路由列表
|
||||
|
||||
### 认证相关
|
||||
- `POST /api/v1/auth/login` - 登录
|
||||
- `POST /api/v1/auth/register` - 注册
|
||||
- `GET /api/v1/user/profile` - 获取用户信息
|
||||
- `PUT /api/v1/user/profile` - 更新用户信息
|
||||
- `PUT /api/v1/user/password` - 修改密码
|
||||
|
||||
### 用户管理(管理员)
|
||||
- `GET /api/v1/admin/users` - 用户列表
|
||||
- `GET /api/v1/admin/users/:id` - 用户详情
|
||||
- `POST /api/v1/admin/users` - 创建用户
|
||||
- `PUT /api/v1/admin/users/:id` - 更新用户
|
||||
- `DELETE /api/v1/admin/users/:id` - 删除用户
|
||||
|
||||
### 仪表盘
|
||||
- `GET /api/v1/dashboard/stats` - 统计数据
|
||||
- `GET /api/v1/dashboard/recent-alerts` - 最近告警
|
||||
- `GET /api/v1/dashboard/recent-releases` - 最近发布
|
||||
- `GET /api/v1/dashboard/metrics` - 指标数据
|
||||
|
||||
### 服务器管理
|
||||
- `GET /api/v1/servers` - 服务器列表
|
||||
- `GET /api/v1/servers/stats` - 服务器统计
|
||||
- `GET /api/v1/servers/:id` - 服务器详情
|
||||
- `POST /api/v1/servers` - 创建服务器
|
||||
- `PUT /api/v1/servers/:id` - 更新服务器
|
||||
- `DELETE /api/v1/servers/:id` - 删除服务器
|
||||
- `POST /api/v1/servers/batch-delete` - 批量删除
|
||||
|
||||
### 云账号管理
|
||||
- `GET /api/v1/cloud-accounts` - 云账号列表
|
||||
- `POST /api/v1/cloud-accounts` - 创建云账号
|
||||
- `DELETE /api/v1/cloud-accounts/:id` - 删除云账号
|
||||
|
||||
### 域名管理
|
||||
- `GET /api/v1/domains` - 域名列表
|
||||
- `POST /api/v1/domains` - 创建域名
|
||||
- `DELETE /api/v1/domains/:id` - 删除域名
|
||||
|
||||
### Kubernetes 管理
|
||||
- `GET /api/v1/k8s-clusters` - 集群列表
|
||||
- `GET /api/v1/k8s-clusters/:id` - 集群详情
|
||||
- `POST /api/v1/k8s-clusters` - 创建集群
|
||||
- `PUT /api/v1/k8s-clusters/:id` - 更新集群
|
||||
- `DELETE /api/v1/k8s-clusters/:id` - 删除集群
|
||||
- `GET /api/v1/k8s-clusters/:id/nodes` - 节点列表
|
||||
- `GET /api/v1/k8s-clusters/:id/pods` - Pod 列表
|
||||
- `GET /api/v1/k8s-clusters/:id/deployments` - Deployment 列表
|
||||
- `GET /api/v1/k8s-clusters/:id/services` - Service 列表
|
||||
- `GET /api/v1/k8s-clusters/:id/ingresses` - Ingress 列表
|
||||
|
||||
### 监控告警
|
||||
- `GET /api/v1/alerts` - 告警事件列表
|
||||
- `GET /api/v1/alerts/rules` - 告警规则列表
|
||||
- `POST /api/v1/alerts/rules` - 创建告警规则
|
||||
- `PUT /api/v1/alerts/rules/:id` - 更新告警规则
|
||||
- `DELETE /api/v1/alerts/rules/:id` - 删除告警规则
|
||||
- `POST /api/v1/alerts/rules/:id/toggle` - 启用/禁用规则
|
||||
- `POST /api/v1/alerts/:id/ack` - 确认告警
|
||||
|
||||
### 应用发布
|
||||
- `GET /api/v1/pipelines` - 流水线列表
|
||||
- `POST /api/v1/pipelines` - 创建流水线
|
||||
- `GET /api/v1/pipelines/:id` - 流水线详情
|
||||
- `PUT /api/v1/pipelines/:id` - 更新流水线
|
||||
- `DELETE /api/v1/pipelines/:id` - 删除流水线
|
||||
- `POST /api/v1/pipelines/:id/trigger` - 触发流水线
|
||||
- `GET /api/v1/pipelines/:id/runs` - 运行记录
|
||||
- `GET /api/v1/releases` - 发布列表
|
||||
- `POST /api/v1/releases` - 创建发布
|
||||
- `POST /api/v1/releases/:id/approve` - 审批发布
|
||||
- `POST /api/v1/releases/:id/deploy` - 执行发布
|
||||
- `POST /api/v1/releases/:id/rollback` - 回滚发布
|
||||
|
||||
### 自动化运维
|
||||
- `GET /api/v1/cron-jobs` - 定时任务列表
|
||||
- `POST /api/v1/cron-jobs` - 创建定时任务
|
||||
- `GET /api/v1/cron-jobs/:id` - 定时任务详情
|
||||
- `PUT /api/v1/cron-jobs/:id` - 更新定时任务
|
||||
- `DELETE /api/v1/cron-jobs/:id` - 删除定时任务
|
||||
- `POST /api/v1/cron-jobs/:id/toggle` - 启用/禁用任务
|
||||
- `POST /api/v1/cron-jobs/:id/execute` - 立即执行
|
||||
- `GET /api/v1/scripts` - 脚本列表
|
||||
- `POST /api/v1/scripts` - 创建脚本
|
||||
- `GET /api/v1/scripts/:id` - 脚本详情
|
||||
- `PUT /api/v1/scripts/:id` - 更新脚本
|
||||
- `DELETE /api/v1/scripts/:id` - 删除脚本
|
||||
- `POST /api/v1/scripts/:id/execute` - 执行脚本
|
||||
|
||||
### 审批流程
|
||||
- `GET /api/v1/approvals/templates` - 审批模板列表
|
||||
- `POST /api/v1/approvals/templates` - 创建审批模板
|
||||
- `GET /api/v1/approvals/templates/:id` - 模板详情
|
||||
- `PUT /api/v1/approvals/templates/:id` - 更新模板
|
||||
- `DELETE /api/v1/approvals/templates/:id` - 删除模板
|
||||
- `GET /api/v1/approvals/processes` - 审批流程列表
|
||||
- `POST /api/v1/approvals/processes` - 创建审批流程
|
||||
- `GET /api/v1/approvals/processes/:id` - 流程详情
|
||||
- `POST /api/v1/approvals/processes/:id/approve` - 审批通过
|
||||
- `POST /api/v1/approvals/processes/:id/reject` - 审批驳回
|
||||
|
||||
### 站内导航
|
||||
- `GET /api/v1/navigations/groups` - 导航分组列表
|
||||
- `POST /api/v1/navigations/groups` - 创建分组
|
||||
- `PUT /api/v1/navigations/groups/:id` - 更新分组
|
||||
- `DELETE /api/v1/navigations/groups/:id` - 删除分组
|
||||
- `GET /api/v1/navigations/links` - 导航链接列表
|
||||
- `POST /api/v1/navigations/links` - 创建链接
|
||||
- `PUT /api/v1/navigations/links/:id` - 更新链接
|
||||
- `DELETE /api/v1/navigations/links/:id` - 删除链接
|
||||
- `POST /api/v1/navigations/links/:id/favorite` - 收藏/取消收藏
|
||||
|
||||
### 审计日志
|
||||
- `GET /api/v1/audit/logs` - 审计日志列表
|
||||
- `GET /api/v1/audit/logs/:id` - 日志详情
|
||||
- `GET /api/v1/audit/modules` - 模块列表
|
||||
- `GET /api/v1/audit/actions` - 操作类型列表
|
||||
- `GET /api/v1/audit/logs/export` - 导出日志
|
||||
- `GET /api/v1/audit/statistics` - 统计信息
|
||||
- `POST /api/v1/audit/logs/clear` - 清理日志
|
||||
|
||||
## 快速开始
|
||||
|
||||
### 1. 安装依赖
|
||||
|
||||
```bash
|
||||
cd backend
|
||||
go mod download
|
||||
```
|
||||
|
||||
### 2. 配置
|
||||
|
||||
```bash
|
||||
cp config.yaml.example config.yaml
|
||||
# 编辑 config.yaml 修改数据库等配置
|
||||
```
|
||||
|
||||
### 3. 启动数据库
|
||||
|
||||
```bash
|
||||
docker-compose up -d mysql redis
|
||||
```
|
||||
|
||||
### 4. 运行
|
||||
|
||||
```bash
|
||||
# 开发模式
|
||||
go run cmd/main.go
|
||||
|
||||
# 或使用 Makefile
|
||||
make run
|
||||
```
|
||||
|
||||
### 5. 生成 Mock 数据
|
||||
|
||||
```bash
|
||||
go run scripts/mock.go
|
||||
```
|
||||
|
||||
### 6. 访问 API 文档
|
||||
|
||||
打开浏览器访问 http://localhost:8080/swagger/index.html
|
||||
|
||||
## Docker 部署
|
||||
|
||||
```bash
|
||||
# 构建镜像
|
||||
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
|
||||
```
|
||||
|
||||
## 技术栈
|
||||
|
||||
- **框架**: Gin Web Framework
|
||||
- **ORM**: GORM
|
||||
- **数据库**: MySQL / PostgreSQL
|
||||
- **缓存**: Redis (可选)
|
||||
- **认证**: JWT
|
||||
- **日志**: Zap
|
||||
- **配置**: Viper
|
||||
- **文档**: Swagger
|
||||
|
||||
## 注意事项
|
||||
|
||||
1. 生产环境请修改默认的 JWT Secret 和数据库密码
|
||||
2. 建议启用 HTTPS
|
||||
3. 配置适当的日志轮转策略
|
||||
4. 定期备份数据库
|
||||
5. 启用审计日志功能
|
||||
@@ -0,0 +1,642 @@
|
||||
# EZOps AIOps 智能运维平台 - 产品设计文档
|
||||
|
||||
> 文档版本: v1.0.0
|
||||
> 编写日期: 2025-04-14
|
||||
> 文档状态: 正式发布
|
||||
|
||||
---
|
||||
|
||||
## 目录
|
||||
|
||||
1. [产品概述](#1-产品概述)
|
||||
2. [目标用户](#2-目标用户)
|
||||
3. [产品架构](#3-产品架构)
|
||||
4. [功能设计](#4-功能设计)
|
||||
5. [AI能力设计](#5-ai能力设计)
|
||||
6. [界面设计](#6-界面设计)
|
||||
7. [技术方案](#7-技术方案)
|
||||
8. [安全设计](#8-安全设计)
|
||||
9. [部署方案](#9-部署方案)
|
||||
10. [运营计划](#10-运营计划)
|
||||
|
||||
---
|
||||
|
||||
## 1. 产品概述
|
||||
|
||||
### 1.1 产品定位
|
||||
|
||||
EZOps AIOps 智能运维平台是一款面向企业级用户的云原生智能运维解决方案,通过深度集成AI大模型能力,实现运维工作的智能化、自动化,帮助企业降低运维成本、提升系统稳定性。
|
||||
|
||||
### 1.2 核心价值
|
||||
|
||||
- **降本增效**: AI辅助决策,减少人工干预,提升运维效率
|
||||
- **预防为主**: 智能预测和预警,防患于未然
|
||||
- **快速恢复**: 智能诊断和自动修复,缩短故障恢复时间
|
||||
- **知识沉淀**: 运维经验AI化,实现知识复用
|
||||
|
||||
### 1.3 产品Slogan
|
||||
|
||||
> **智能运维,让系统更稳定,让团队更高效**
|
||||
|
||||
---
|
||||
|
||||
## 2. 目标用户
|
||||
|
||||
### 2.1 用户画像
|
||||
|
||||
| 用户类型 | 角色描述 | 核心需求 | 使用场景 |
|
||||
|---------|---------|---------|---------|
|
||||
| 运维工程师 | 日常运维执行者 | 快速定位问题、自动化操作 | 故障处理、日常巡检 |
|
||||
| 运维主管 | 团队管理者 | 全局视图、效率提升 | 团队管理、决策支持 |
|
||||
| SRE工程师 | 站点可靠性工程师 | 系统稳定性、性能优化 | 容量规划、性能调优 |
|
||||
| DevOps工程师 | 开发运维一体化 | CI/CD、自动化发布 | 应用发布、流水线管理 |
|
||||
| 技术总监 | 技术决策者 | 成本优化、风险评估 | 技术选型、预算规划 |
|
||||
|
||||
### 2.2 用户场景
|
||||
|
||||
#### 场景1: 故障快速响应
|
||||
```
|
||||
用户: 运维工程师小王
|
||||
场景: 凌晨2点收到告警,生产环境服务响应缓慢
|
||||
流程:
|
||||
1. 收到AI告警分析推送,了解根因是数据库连接池耗尽
|
||||
2. 查看AI推荐的解决方案
|
||||
3. 一键执行自动修复脚本
|
||||
4. 验证修复效果,故障恢复
|
||||
时间: 从30分钟缩短到5分钟
|
||||
```
|
||||
|
||||
#### 场景2: 日常运维自动化
|
||||
```
|
||||
用户: SRE工程师小李
|
||||
场景: 需要每日巡检100+台服务器
|
||||
流程:
|
||||
1. 使用AI脚本生成器创建巡检脚本
|
||||
2. 配置定时任务自动执行
|
||||
3. AI分析巡检结果,生成报告
|
||||
4. 异常情况自动创建告警
|
||||
效果: 节省2小时/天
|
||||
```
|
||||
|
||||
#### 场景3: 容量规划决策
|
||||
```
|
||||
用户: 技术总监老张
|
||||
场景: 规划下季度服务器采购预算
|
||||
流程:
|
||||
1. 查看AI预测分析,了解资源使用趋势
|
||||
2. 获取AI推荐的扩容方案
|
||||
3. 对比不同方案的成本和性能
|
||||
4. 做出最优决策
|
||||
效果: 成本节省20%
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 3. 产品架构
|
||||
|
||||
### 3.1 系统架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 展示层 │
|
||||
│ ┌──────────────┬──────────────┬──────────────┬──────────────┐ │
|
||||
│ │ Web控制台 │ 移动App │ 可视化大屏 │ CLI工具 │ │
|
||||
│ └──────────────┴──────────────┴──────────────┴──────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 接入层 │
|
||||
│ ┌──────────────────────────────────────────────────────────┐ │
|
||||
│ │ API网关 (认证/限流/路由/日志) │ │
|
||||
│ └──────────────────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 服务层 │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐│
|
||||
│ │ 资产管理 │ │ 应用发布 │ │ 监控告警 │ │ 自动化 │ │ AIOps ││
|
||||
│ │ 服务 │ │ 服务 │ │ 服务 │ │ 服务 │ │ 服务 ││
|
||||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └────────┘│
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ 数据层 │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌────────┐│
|
||||
│ │ MySQL │ │ Redis │ │ Prometheus│ │ ES │ │ MinIO ││
|
||||
│ │ 业务数据 │ │ 缓存 │ │ 时序数据 │ │ 日志 │ │ 对象存储││
|
||||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ └────────┘│
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────────┐
|
||||
│ AI服务层 │
|
||||
│ ┌──────────┬──────────┬──────────┬──────────┬──────────────┐ │
|
||||
│ │ OpenAI │Anthropic │ Azure │ Ollama │ 本地模型 │ │
|
||||
│ │ GPT-4 │ Claude │ OpenAI │ 本地部署 │ 微调模型 │ │
|
||||
│ └──────────┴──────────┴──────────┴──────────┴──────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 3.2 模块划分
|
||||
|
||||
| 模块名称 | 功能描述 | 优先级 |
|
||||
|---------|---------|--------|
|
||||
| 资产管理 | 服务器、云资源、域名等资产全生命周期管理 | P0 |
|
||||
| 应用发布 | CI/CD流水线、发布管理、版本控制 | P0 |
|
||||
| 监控告警 | 指标采集、告警管理、可视化大屏 | P0 |
|
||||
| 自动化运维 | 定时任务、脚本管理、Ansible执行 | P1 |
|
||||
| AIOps智能 | AI助手、告警分析、故障诊断、预测分析 | P0 |
|
||||
| 系统管理 | 用户权限、操作审计、系统配置 | P1 |
|
||||
|
||||
---
|
||||
|
||||
## 4. 功能设计
|
||||
|
||||
### 4.1 资产管理模块
|
||||
|
||||
#### 4.1.1 服务器管理
|
||||
|
||||
**功能列表:**
|
||||
- 服务器CRUD操作
|
||||
- 批量导入 (Excel/云API)
|
||||
- 标签管理
|
||||
- 远程WebShell
|
||||
- 状态监控
|
||||
|
||||
**数据模型:**
|
||||
```typescript
|
||||
interface Server {
|
||||
id: string;
|
||||
name: string;
|
||||
hostname: string;
|
||||
ip: string;
|
||||
os: string;
|
||||
cpu: number;
|
||||
memory: number;
|
||||
disk: number;
|
||||
status: 'running' | 'stopped' | 'error';
|
||||
tags: string[];
|
||||
cloudProvider?: string;
|
||||
region?: string;
|
||||
createdAt: string;
|
||||
updatedAt: string;
|
||||
}
|
||||
```
|
||||
|
||||
#### 4.1.2 云账号管理
|
||||
|
||||
**功能列表:**
|
||||
- 多云账号接入 (阿里云/腾讯云/AWS)
|
||||
- AK/SK安全存储
|
||||
- 资源自动同步
|
||||
- 成本分析
|
||||
|
||||
### 4.2 应用发布模块
|
||||
|
||||
#### 4.2.1 流水线管理
|
||||
|
||||
**功能列表:**
|
||||
- 可视化流水线配置
|
||||
- 多阶段构建
|
||||
- 并行/串行执行
|
||||
- 审批节点
|
||||
|
||||
**流水线阶段:**
|
||||
```yaml
|
||||
stages:
|
||||
- name: 代码检出
|
||||
type: checkout
|
||||
- name: 构建
|
||||
type: build
|
||||
- name: 单元测试
|
||||
type: test
|
||||
- name: 镜像构建
|
||||
type: docker_build
|
||||
- name: 部署
|
||||
type: deploy
|
||||
approval: true
|
||||
- name: 健康检查
|
||||
type: health_check
|
||||
```
|
||||
|
||||
#### 4.2.2 发布管理
|
||||
|
||||
**功能列表:**
|
||||
- 发布申请
|
||||
- 发布审批
|
||||
- 发布历史
|
||||
- 一键回滚
|
||||
|
||||
### 4.3 监控告警模块
|
||||
|
||||
#### 4.3.1 指标监控
|
||||
|
||||
**支持指标:**
|
||||
- CPU使用率
|
||||
- 内存使用率
|
||||
- 磁盘使用率
|
||||
- 网络流量
|
||||
- 应用性能指标 (QPS/RT/错误率)
|
||||
|
||||
#### 4.3.2 告警中心
|
||||
|
||||
**功能列表:**
|
||||
- 告警规则配置
|
||||
- 告警级别划分 (严重/警告/提示)
|
||||
- 告警通知 (邮件/短信/钉钉/企业微信)
|
||||
- 告警抑制和聚合
|
||||
- AI告警分析
|
||||
|
||||
### 4.4 自动化运维模块
|
||||
|
||||
#### 4.4.1 定时任务
|
||||
|
||||
**功能列表:**
|
||||
- Cron表达式配置
|
||||
- 任务执行日志
|
||||
- 失败重试机制
|
||||
- 任务依赖管理
|
||||
|
||||
#### 4.4.2 Ansible管理
|
||||
|
||||
**功能列表:**
|
||||
- Playbook管理
|
||||
- 主机清单管理
|
||||
- 任务执行
|
||||
- 执行结果展示
|
||||
|
||||
### 4.5 K8s集群管理
|
||||
|
||||
**功能列表:**
|
||||
- 多集群管理
|
||||
- 节点管理
|
||||
- 工作负载管理 (Deployment/Service/Ingress)
|
||||
- 架构拓扑可视化
|
||||
- 资源监控
|
||||
|
||||
---
|
||||
|
||||
## 5. AI能力设计
|
||||
|
||||
### 5.1 AI架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ AI能力层 │
|
||||
│ ┌───────────────────────────────────────────────────────┐ │
|
||||
│ │ AI编排引擎 │ │
|
||||
│ │ (Prompt管理/上下文管理/工具调用/结果解析) │ │
|
||||
│ └───────────────────────────────────────────────────────┘ │
|
||||
│ │ │
|
||||
│ ┌──────────────┬──────────────┬──────────────┬──────────┐ │
|
||||
│ │ 告警分析 │ 脚本生成 │ 故障诊断 │ 预测分析 │ │
|
||||
│ │ Agent │ Agent │ Agent │ Agent │ │
|
||||
│ └──────────────┴──────────────┴──────────────┴──────────┘ │
|
||||
│ │ │
|
||||
│ ┌───────────────────────────────────────────────────────┐ │
|
||||
│ │ 模型接入层 │ │
|
||||
│ │ OpenAI / Anthropic / Azure / Ollama / 本地模型 │ │
|
||||
│ └───────────────────────────────────────────────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 5.2 AI告警分析
|
||||
|
||||
**功能描述:**
|
||||
- 接收告警事件
|
||||
- 关联相关日志和指标
|
||||
- AI分析根因
|
||||
- 生成修复建议
|
||||
- 推荐自动修复脚本
|
||||
|
||||
**Prompt设计:**
|
||||
```
|
||||
你是一位资深的运维专家,请分析以下告警信息:
|
||||
|
||||
告警名称: {alert_name}
|
||||
告警级别: {severity}
|
||||
告警对象: {target}
|
||||
告警时间: {time}
|
||||
告警详情: {details}
|
||||
|
||||
相关日志:
|
||||
{logs}
|
||||
|
||||
相关指标:
|
||||
{metrics}
|
||||
|
||||
请提供:
|
||||
1. 根因分析 (置信度)
|
||||
2. 影响范围评估
|
||||
3. 修复建议 (按优先级排序)
|
||||
4. 自动修复脚本 (如适用)
|
||||
5. 相似历史案例
|
||||
```
|
||||
|
||||
### 5.3 AI脚本生成
|
||||
|
||||
**功能描述:**
|
||||
- 自然语言描述需求
|
||||
- AI生成运维脚本
|
||||
- 支持多语言 (Bash/Python/Ansible)
|
||||
- 一键测试执行
|
||||
|
||||
**Prompt设计:**
|
||||
```
|
||||
你是一位运维脚本专家,请根据以下需求生成{language}脚本:
|
||||
|
||||
需求描述: {description}
|
||||
目标系统: {os}
|
||||
执行环境: {environment}
|
||||
|
||||
要求:
|
||||
1. 添加详细的注释
|
||||
2. 包含错误处理
|
||||
3. 添加日志输出
|
||||
4. 考虑安全性
|
||||
|
||||
请生成完整的可执行脚本。
|
||||
```
|
||||
|
||||
### 5.4 AI故障诊断
|
||||
|
||||
**功能描述:**
|
||||
- 接收故障症状描述
|
||||
- AI分析可能原因
|
||||
- 提供诊断步骤
|
||||
- 推荐解决方案
|
||||
|
||||
### 5.5 AI预测分析
|
||||
|
||||
**功能描述:**
|
||||
- 分析历史指标数据
|
||||
- 预测未来趋势
|
||||
- 容量规划建议
|
||||
- 异常预警
|
||||
|
||||
**预测模型:**
|
||||
- 时间序列分析 (ARIMA/Prophet)
|
||||
- 异常检测 (Isolation Forest)
|
||||
- 趋势预测 (LSTM)
|
||||
|
||||
---
|
||||
|
||||
## 6. 界面设计
|
||||
|
||||
### 6.1 设计原则
|
||||
|
||||
- **简洁高效**: 减少用户操作步骤,提升效率
|
||||
- **信息密度**: 合理的信息展示,避免信息过载
|
||||
- **一致性**: 统一的视觉风格和交互模式
|
||||
- **响应式**: 适配不同屏幕尺寸
|
||||
|
||||
### 6.2 色彩系统
|
||||
|
||||
```css
|
||||
/* 主色调 */
|
||||
--primary: #3b82f6; /* 蓝色 - 主要操作 */
|
||||
--primary-hover: #2563eb;
|
||||
|
||||
/* 功能色 */
|
||||
--success: #10b981; /* 绿色 - 成功 */
|
||||
--warning: #f59e0b; /* 橙色 - 警告 */
|
||||
--danger: #ef4444; /* 红色 - 危险 */
|
||||
--info: #06b6d4; /* 青色 - 信息 */
|
||||
|
||||
/* 中性色 */
|
||||
--slate-900: #0f172a; /* 深色背景 */
|
||||
--slate-800: #1e293b; /* 卡片背景 */
|
||||
--slate-700: #334155; /* 边框 */
|
||||
--slate-100: #f1f5f9; /* 浅色文字 */
|
||||
|
||||
/* AI强调色 */
|
||||
--ai-purple: #8b5cf6; /* 紫色 - AI功能 */
|
||||
--ai-pink: #ec4899; /* 粉色 - AI强调 */
|
||||
```
|
||||
|
||||
### 6.3 布局结构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ Header (Logo + 全局搜索 + 通知 + 用户头像) │
|
||||
├──────────┬──────────────────────────────────────────────────┤
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ Sidebar │ Main Content │
|
||||
│ (菜单) │ (主内容区) │
|
||||
│ │ │
|
||||
│ │ │
|
||||
│ │ │
|
||||
└──────────┴──────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 6.4 核心页面
|
||||
|
||||
#### 仪表盘
|
||||
- 系统健康度卡片
|
||||
- 成本费用图表
|
||||
- Top资源使用排行
|
||||
- 告警消息列表
|
||||
- 快捷操作入口
|
||||
|
||||
#### AI智能助手
|
||||
- 对话界面
|
||||
- 快捷操作面板
|
||||
- 能力展示
|
||||
- 模型配置
|
||||
|
||||
---
|
||||
|
||||
## 7. 技术方案
|
||||
|
||||
### 7.1 技术栈
|
||||
|
||||
| 层级 | 技术选型 | 版本 |
|
||||
|-----|---------|------|
|
||||
| 前端 | React + TypeScript + Vite | React 18 |
|
||||
| UI组件 | shadcn/ui + Tailwind CSS | v2.x |
|
||||
| 状态管理 | Zustand | v4.x |
|
||||
| 后端 | Go + Gin | Go 1.22 |
|
||||
| ORM | GORM | v2.x |
|
||||
| 数据库 | MySQL + Redis | 8.0 / 7.x |
|
||||
| 消息队列 | RabbitMQ | 3.x |
|
||||
| 监控 | Prometheus + Grafana | - |
|
||||
| AI服务 | OpenAI/Anthropic/Azure | - |
|
||||
|
||||
### 7.2 API设计
|
||||
|
||||
**RESTful API规范:**
|
||||
```
|
||||
GET /api/v1/servers # 列表查询
|
||||
GET /api/v1/servers/:id # 详情查询
|
||||
POST /api/v1/servers # 创建
|
||||
PUT /api/v1/servers/:id # 更新
|
||||
DELETE /api/v1/servers/:id # 删除
|
||||
```
|
||||
|
||||
**AI服务API:**
|
||||
```
|
||||
POST /api/v1/ai/chat # AI对话
|
||||
POST /api/v1/ai/analyze-alert # 告警分析
|
||||
POST /api/v1/ai/generate-script # 脚本生成
|
||||
POST /api/v1/ai/diagnose # 故障诊断
|
||||
POST /api/v1/ai/predict # 预测分析
|
||||
```
|
||||
|
||||
### 7.3 数据模型
|
||||
|
||||
**核心实体关系:**
|
||||
```
|
||||
User (1) ----< (N) Role
|
||||
User (1) ----< (N) OperationLog
|
||||
|
||||
Server (N) --> (1) CloudAccount
|
||||
Server (N) --> (N) Tag
|
||||
|
||||
Cluster (1) ----< (N) Node
|
||||
Cluster (1) ----< (N) Workload
|
||||
|
||||
Pipeline (1) ----< (N) PipelineStage
|
||||
Pipeline (1) ----< (N) Release
|
||||
|
||||
AlertRule (1) ----< (N) AlertEvent
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## 8. 安全设计
|
||||
|
||||
### 8.1 认证授权
|
||||
|
||||
- JWT Token认证
|
||||
- RBAC权限模型
|
||||
- 操作审计日志
|
||||
- 敏感数据加密
|
||||
|
||||
### 8.2 数据安全
|
||||
|
||||
- 数据库连接加密
|
||||
- 敏感配置加密存储
|
||||
- 定期数据备份
|
||||
- 操作日志保留
|
||||
|
||||
### 8.3 网络安全
|
||||
|
||||
- HTTPS传输加密
|
||||
- API限流保护
|
||||
- SQL注入防护
|
||||
- XSS攻击防护
|
||||
|
||||
---
|
||||
|
||||
## 9. 部署方案
|
||||
|
||||
### 9.1 部署架构
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 负载均衡层 │
|
||||
│ Nginx / Traefik │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 应用服务层 │
|
||||
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐ │
|
||||
│ │ Frontend │ │ Backend │ │ AI │ │
|
||||
│ │ (Nginx) │ │ (Gin) │ │ Service │ │
|
||||
│ └─────────────┘ └─────────────┘ └─────────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 数据存储层 │
|
||||
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
|
||||
│ │ MySQL │ │ Redis │ │Prometheus│ │ ES │ │
|
||||
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 9.2 部署方式
|
||||
|
||||
**Docker Compose (开发/测试):**
|
||||
```yaml
|
||||
version: '3.8'
|
||||
services:
|
||||
frontend:
|
||||
image: ezops/frontend:latest
|
||||
ports:
|
||||
- "80:80"
|
||||
|
||||
backend:
|
||||
image: ezops/backend:latest
|
||||
ports:
|
||||
- "8080:8080"
|
||||
|
||||
mysql:
|
||||
image: mysql:8.0
|
||||
environment:
|
||||
MYSQL_ROOT_PASSWORD: password
|
||||
|
||||
redis:
|
||||
image: redis:7-alpine
|
||||
```
|
||||
|
||||
**Kubernetes (生产):**
|
||||
- Helm Chart部署
|
||||
- ConfigMap配置管理
|
||||
- Secret密钥管理
|
||||
- HPA自动扩缩容
|
||||
|
||||
---
|
||||
|
||||
## 10. 运营计划
|
||||
|
||||
### 10.1 版本发布计划
|
||||
|
||||
| 版本 | 发布日期 | 主要功能 | 目标用户 |
|
||||
|-----|---------|---------|---------|
|
||||
| v0.1.0 | 2025-04 | MVP核心功能 | 早期用户 |
|
||||
| v0.2.0 | 2025-06 | AI能力增强 | 技术团队 |
|
||||
| v0.3.0 | 2025-09 | 企业级特性 | 企业客户 |
|
||||
| v0.4.0 | 2025-12 | 全栈智能化 | 大规模用户 |
|
||||
| v1.0.0 | 2026-Q1 | 正式发布 | 全量用户 |
|
||||
|
||||
### 10.2 成功指标
|
||||
|
||||
| 指标 | 目标值 | 测量方式 |
|
||||
|-----|-------|---------|
|
||||
| 用户活跃度 | DAU > 1000 | 系统统计 |
|
||||
| 故障响应时间 | < 5分钟 | 告警系统 |
|
||||
| AI分析准确率 | > 85% | 用户反馈 |
|
||||
| 用户满意度 | NPS > 50 | 问卷调查 |
|
||||
| 系统可用性 | 99.9% | 监控数据 |
|
||||
|
||||
### 10.3 迭代策略
|
||||
|
||||
- **双周迭代**: 每两周发布一个小版本
|
||||
- **月度规划**: 每月制定功能规划
|
||||
- **季度复盘**: 每季度进行产品复盘
|
||||
- **年度规划**: 每年制定产品路线图
|
||||
|
||||
---
|
||||
|
||||
## 附录
|
||||
|
||||
### A. 术语表
|
||||
|
||||
| 术语 | 说明 |
|
||||
|-----|------|
|
||||
| AIOps | 人工智能运维,将AI能力应用于IT运维 |
|
||||
| SRE | 站点可靠性工程 |
|
||||
| DevOps | 开发运维一体化 |
|
||||
| CI/CD | 持续集成/持续部署 |
|
||||
| MTTR | 平均修复时间 |
|
||||
| MTBF | 平均故障间隔时间 |
|
||||
|
||||
### B. 参考资料
|
||||
|
||||
- [Google SRE Book](https://sre.google/sre-book/table-of-contents/)
|
||||
- [The Phoenix Project](https://itrevolution.com/the-phoenix-project/)
|
||||
- [AIOps白皮书](https://www.gartner.com/en/documents/aiops)
|
||||
|
||||
---
|
||||
|
||||
*本文档由EZOps产品团队维护,如有疑问请联系 product@ezops.io*
|
||||
@@ -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
|
||||
+379
@@ -0,0 +1,379 @@
|
||||
# EZOps AIOps 智能运维平台 - 产品路线图
|
||||
|
||||
> 版本: v1.0.0
|
||||
> 更新日期: 2025-04-14
|
||||
> 状态: 开发中
|
||||
|
||||
---
|
||||
|
||||
## 概述
|
||||
|
||||
EZOps AIOps 智能运维平台是一个面向企业级用户的云原生智能运维解决方案,集成了资产管理、应用发布、监控告警、自动化运维和AI智能分析等核心能力。本路线图规划了产品从MVP到成熟版本的演进路径。
|
||||
|
||||
---
|
||||
|
||||
## 版本规划
|
||||
|
||||
### Phase 1: MVP 核心功能 (已完成) - v0.1.0
|
||||
|
||||
**目标**: 构建基础运维平台,实现核心资产管理能力
|
||||
|
||||
#### 已完成功能
|
||||
|
||||
- [x] **仪表盘**
|
||||
- 成本费用月维度统计
|
||||
- 告警消息聚合展示
|
||||
- Top5 CPU/内存/磁盘使用率
|
||||
- SSL证书到期提醒
|
||||
- 系统健康度概览
|
||||
|
||||
- [x] **资产管理**
|
||||
- 服务器管理 (CRUD、批量导入、WebShell)
|
||||
- 云账号管理 (多云平台接入)
|
||||
- 域名管理
|
||||
- 区域管理
|
||||
- 云平台管理
|
||||
- 资源模型管理
|
||||
|
||||
- [x] **K8s集群管理**
|
||||
- 集群列表管理
|
||||
- 节点管理
|
||||
- 工作负载管理 (Deployment/Service/Ingress)
|
||||
- 架构拓扑可视化
|
||||
|
||||
- [x] **应用发布**
|
||||
- 流水线配置管理
|
||||
- 发布管理 (新建发布、发布历史)
|
||||
- 多环境支持
|
||||
|
||||
- [x] **监控告警**
|
||||
- 指标监控
|
||||
- 告警中心
|
||||
- 日志能力
|
||||
- 链路追踪
|
||||
- Grafana风格监控大屏
|
||||
|
||||
- [x] **自动化运维**
|
||||
- 定时任务管理
|
||||
- 脚本库
|
||||
- Ansible Playbook执行
|
||||
|
||||
- [x] **AIOps智能**
|
||||
- AI智能助手 (大模型对话)
|
||||
- SQL数据变更审计
|
||||
|
||||
- [x] **系统管理**
|
||||
- 用户管理
|
||||
- 角色权限
|
||||
- 操作审计
|
||||
- 系统设置
|
||||
|
||||
---
|
||||
|
||||
### Phase 2: AI能力增强 (当前) - v0.2.0
|
||||
|
||||
**目标**: 深度集成AI大模型,实现智能运维能力
|
||||
|
||||
#### 进行中功能
|
||||
|
||||
- [x] **AI告警智能分析**
|
||||
- 告警根因自动分析
|
||||
- 相似历史案例匹配
|
||||
- 自动修复脚本生成
|
||||
- 修复建议推荐
|
||||
|
||||
- [x] **AI脚本生成器**
|
||||
- 自然语言生成运维脚本
|
||||
- 支持Bash/Python/Ansible
|
||||
- 脚本模板库
|
||||
- 一键测试执行
|
||||
|
||||
- [x] **AI故障诊断**
|
||||
- 故障症状智能分析
|
||||
- 多维度根因定位
|
||||
- 解决方案推荐
|
||||
- 诊断历史管理
|
||||
|
||||
- [x] **AI预测分析**
|
||||
- 关键指标趋势预测
|
||||
- 容量规划预警
|
||||
- 异常事件预测
|
||||
- 资源优化建议
|
||||
|
||||
- [x] **AIOps智能运维中心**
|
||||
- 统一AI功能入口
|
||||
- AI能力状态监控
|
||||
- 多模型提供商支持
|
||||
|
||||
#### 技术栈
|
||||
|
||||
```
|
||||
前端: React 18 + TypeScript + Vite + Tailwind CSS + shadcn/ui
|
||||
后端: Go + Gin + GORM
|
||||
AI集成: OpenAI / Anthropic / Azure OpenAI / Ollama
|
||||
监控: Prometheus + Grafana + SkyWalking
|
||||
数据库: MySQL + Redis
|
||||
消息队列: RabbitMQ / Kafka
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
### Phase 3: 企业级功能 - v0.3.0 (计划 2025-Q3)
|
||||
|
||||
**目标**: 增强企业级特性,提升安全性和可扩展性
|
||||
|
||||
#### 计划功能
|
||||
|
||||
- [ ] **多云管理平台**
|
||||
- AWS/阿里云/腾讯云/华为云统一接入
|
||||
- 云资源自动发现
|
||||
- 成本分析和优化建议
|
||||
- 跨云资源调度
|
||||
|
||||
- [ ] **安全合规**
|
||||
- 安全基线检查
|
||||
- 漏洞扫描集成
|
||||
- 合规报告生成
|
||||
- 敏感操作审计
|
||||
|
||||
- [ ] **高级监控**
|
||||
- 自定义仪表盘
|
||||
- 告警规则智能推荐
|
||||
- 告警降噪和聚合
|
||||
- 多渠道告警通知
|
||||
|
||||
- [ ] **CI/CD增强**
|
||||
- 蓝绿发布支持
|
||||
- 金丝雀发布
|
||||
- 自动回滚
|
||||
- 发布审批流程
|
||||
|
||||
- [ ] **容器平台**
|
||||
- 容器镜像管理
|
||||
- Helm Chart仓库
|
||||
- 服务网格集成
|
||||
- Serverless支持
|
||||
|
||||
---
|
||||
|
||||
### Phase 4: 智能化升级 - v0.4.0 (计划 2025-Q4)
|
||||
|
||||
**目标**: 实现全栈智能化,降低人工干预
|
||||
|
||||
#### 计划功能
|
||||
|
||||
- [ ] **智能自愈**
|
||||
- 故障自动检测
|
||||
- 自动修复执行
|
||||
- 修复效果验证
|
||||
- 修复策略学习
|
||||
|
||||
- [ ] **智能调度**
|
||||
- 资源自动扩缩容
|
||||
- 负载均衡优化
|
||||
- 成本最优调度
|
||||
- 预测性维护
|
||||
|
||||
- [ ] **知识图谱**
|
||||
- 运维知识库
|
||||
- 故障知识图谱
|
||||
- 智能问答增强
|
||||
- 经验沉淀复用
|
||||
|
||||
- [ ] **AIOps工作台**
|
||||
- 个性化运维视图
|
||||
- 智能任务推荐
|
||||
- 运维效率分析
|
||||
- 团队协作增强
|
||||
|
||||
---
|
||||
|
||||
### Phase 5: 生态扩展 - v1.0.0 (计划 2026-Q1)
|
||||
|
||||
**目标**: 构建开放生态,支持第三方集成
|
||||
|
||||
#### 计划功能
|
||||
|
||||
- [ ] **开放API平台**
|
||||
- RESTful API完整覆盖
|
||||
- GraphQL支持
|
||||
- Webhook机制
|
||||
- SDK开发包
|
||||
|
||||
- [ ] **插件市场**
|
||||
- 插件开发框架
|
||||
- 官方插件库
|
||||
- 第三方插件审核
|
||||
- 插件交易机制
|
||||
|
||||
- [ ] **社区生态**
|
||||
- 开源部分核心模块
|
||||
- 开发者文档
|
||||
- 技术社区
|
||||
- 最佳实践分享
|
||||
|
||||
- [ ] **企业版功能**
|
||||
- 高可用架构
|
||||
- 多租户支持
|
||||
- SLA保障
|
||||
- 专属技术支持
|
||||
|
||||
---
|
||||
|
||||
## 技术架构演进
|
||||
|
||||
### 当前架构 (v0.2.0)
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 前端层 │
|
||||
│ React + TypeScript + Vite + Tailwind CSS + shadcn/ui │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ API网关层 │
|
||||
│ Go + Gin + Middleware (Auth/RateLimit) │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 业务服务层 │
|
||||
│ ┌──────────┬──────────┬──────────┬──────────┬──────────┐ │
|
||||
│ │ 资产管理 │ 应用发布 │ 监控告警 │ 自动化 │ AIOps │ │
|
||||
│ └──────────┴──────────┴──────────┴──────────┴──────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 数据层 │
|
||||
│ MySQL + Redis + Prometheus + Elasticsearch │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ AI服务层 │
|
||||
│ OpenAI / Anthropic / Azure OpenAI / Ollama │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
### 目标架构 (v1.0.0)
|
||||
|
||||
```
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 前端层 │
|
||||
│ React + 移动端App + CLI工具 + 可视化大屏 │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 网关层 │
|
||||
│ Kong/Nginx + 负载均衡 + 服务发现 │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 微服务层 │
|
||||
│ ┌────────┬────────┬────────┬────────┬────────┬────────┐ │
|
||||
│ │资产服务 │发布服务 │监控服务 │自动化 │AI服务 │平台服务│ │
|
||||
│ └────────┴────────┴────────┴────────┴────────┴────────┘ │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
│
|
||||
┌─────────────────────────────────────────────────────────────┐
|
||||
│ 数据平台层 │
|
||||
│ 数据湖 + 实时计算 + 数据仓库 + 机器学习平台 │
|
||||
└─────────────────────────────────────────────────────────────┘
|
||||
```
|
||||
|
||||
---
|
||||
|
||||
## AI能力路线图
|
||||
|
||||
### 当前能力 (v0.2.0)
|
||||
|
||||
| 能力模块 | 功能描述 | 完成度 |
|
||||
|---------|---------|--------|
|
||||
| AI智能助手 | 大模型对话、运维知识问答 | 100% |
|
||||
| 告警智能分析 | 根因分析、修复建议 | 100% |
|
||||
| 脚本生成器 | 自然语言生成脚本 | 100% |
|
||||
| 故障诊断 | 症状分析、方案推荐 | 100% |
|
||||
| 预测分析 | 趋势预测、容量规划 | 100% |
|
||||
|
||||
### 计划能力 (v0.4.0)
|
||||
|
||||
| 能力模块 | 功能描述 | 预计完成 |
|
||||
|---------|---------|----------|
|
||||
| 智能自愈 | 故障自动检测和修复 | 2025-Q4 |
|
||||
| 智能调度 | 资源自动优化调度 | 2025-Q4 |
|
||||
| 知识图谱 | 运维知识沉淀和复用 | 2025-Q4 |
|
||||
| 智能推荐 | 个性化运维建议 | 2025-Q4 |
|
||||
|
||||
---
|
||||
|
||||
## 集成路线图
|
||||
|
||||
### 监控集成
|
||||
|
||||
- [x] Prometheus
|
||||
- [x] Grafana
|
||||
- [x] SkyWalking
|
||||
- [x] Zabbix
|
||||
- [ ] ELK Stack
|
||||
- [ ] Jaeger
|
||||
- [ ] Datadog
|
||||
|
||||
### 云平台集成
|
||||
|
||||
- [x] 阿里云
|
||||
- [x] 腾讯云
|
||||
- [x] AWS
|
||||
- [ ] 华为云
|
||||
- [ ] Azure
|
||||
- [ ] Google Cloud
|
||||
|
||||
### DevOps集成
|
||||
|
||||
- [x] GitLab
|
||||
- [x] Jenkins
|
||||
- [ ] GitHub Actions
|
||||
- [ ] ArgoCD
|
||||
- [ ] Harbor
|
||||
|
||||
### AI模型集成
|
||||
|
||||
- [x] OpenAI GPT-4
|
||||
- [x] Anthropic Claude
|
||||
- [x] Azure OpenAI
|
||||
- [x] Ollama (本地)
|
||||
- [ ] 文心一言
|
||||
- [ ] 通义千问
|
||||
- [ ] Llama 3
|
||||
|
||||
---
|
||||
|
||||
## 里程碑
|
||||
|
||||
| 里程碑 | 版本 | 计划日期 | 关键交付物 |
|
||||
|-------|------|---------|-----------|
|
||||
| MVP发布 | v0.1.0 | 2025-04 | 核心功能可用 |
|
||||
| AI增强 | v0.2.0 | 2025-06 | AI能力完整 |
|
||||
| 企业版 | v0.3.0 | 2025-09 | 企业特性完整 |
|
||||
| 智能化 | v0.4.0 | 2025-12 | 全栈智能化 |
|
||||
| 正式发布 | v1.0.0 | 2026-Q1 | 生态开放 |
|
||||
|
||||
---
|
||||
|
||||
## 贡献指南
|
||||
|
||||
欢迎社区贡献!请参阅以下资源:
|
||||
|
||||
- [开发文档](./docs/DEVELOPMENT.md)
|
||||
- [贡献指南](./docs/CONTRIBUTING.md)
|
||||
- [API文档](./docs/API.md)
|
||||
|
||||
---
|
||||
|
||||
## 联系方式
|
||||
|
||||
- 项目主页: https://github.com/ezops/aiops-platform
|
||||
- 文档中心: https://docs.ezops.io
|
||||
- 社区论坛: https://community.ezops.io
|
||||
- 技术支持: support@ezops.io
|
||||
|
||||
---
|
||||
|
||||
*本路线图会定期更新,请以最新版本为准。*
|
||||
Reference in new issue
Block a user