Files
aiops/docs/PROJECT_SUMMARY.md
T

6.5 KiB
Raw Blame History

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

注意事项

  1. 生产环境请修改默认的 JWT Secret 和数据库密码
  2. 建议启用 HTTPS
  3. 配置适当的日志轮转策略
  4. 定期备份数据库
  5. 启用审计日志功能

开发计划

已完成

  • 前端项目搭建
  • 后端项目搭建
  • 用户认证系统
  • 服务器资产管理
  • K8s 集群管理
  • 监控告警系统
  • 应用发布系统
  • 自动化运维
  • 审批流程
  • 站内导航
  • 审计日志

待完成

  • 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