服务器监控管理平台
项目简介
这是一个基于Vue3 + Flask + MySQL的企业级服务器监控管理平台,支持服务器管理、脚本管理、批量执行、用户权限管理等功能。
技术架构
前端技术栈
- Vue 3 - 渐进式JavaScript框架
- Ant Design Vue - 企业级UI组件库
- Tailwind CSS - 实用程序优先的CSS框架
- Pinia - Vue状态管理
- Vue Router - 官方路由管理器
- Axios - HTTP客户端
后端技术栈
- Flask - 轻量级Web应用框架
- SQLAlchemy - Python ORM
- MySQL 8.0 - 关系型数据库
- JWT - JSON Web Token认证
- Paramiko - SSH客户端库
功能特性
🔐 用户认证与权限管理
- JWT Token认证
- 基于角色的权限控制(RBAC)
- 用户状态管理(启用/禁用)
🖥️ 服务器管理
- 服务器信息维护(IP、端口、用户名等)
- 实时连接状态检测
- 服务器连接测试
📝 脚本管理
- 支持Shell、Python、SQL脚本
- 脚本内容编辑器
- 脚本分类和版本管理
⚡ 批量执行
- 选择多台服务器批量执行脚本
- 并发执行,提高效率
- 实时查看执行结果和输出
- 执行历史记录查询
📊 控制台面板
- 关键指标统计
- 最近执行记录
- 服务器状态概览
安装部署
环境要求
- Node.js 16+
- Python 3.8+
- MySQL 8.0+
前端部署
-
安装依赖 ```bash npm install ```
-
开发环境运行 ```bash npm run dev ```
-
生产构建 ```bash npm run build ```
后端部署
-
创建虚拟环境 ```bash cd backend python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate ```
-
安装依赖 ```bash pip install -r requirements.txt ```
-
配置数据库
- 创建MySQL数据库 `server_monitor`
- 修改 `app.py` 中的数据库连接配置
-
初始化数据库 ```bash python init_db.py ```
-
运行应用 ```bash python app.py ```
数据库配置
创建MySQL数据库: ```sql CREATE DATABASE server_monitor CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci; ```
使用说明
默认账户
- 用户名:`admin`
- 密码:`admin123`
基本使用流程
- 登录系统 - 使用默认管理员账户登录
- 添加服务器 - 在服务器管理页面添加要管理的服务器
- 创建脚本 - 在脚本管理页面创建执行脚本
- 批量执行 - 选择服务器和脚本进行批量执行
- 查看结果 - 查看执行结果和历史记录
权限说明
系统支持三种角色:
- 管理员(admin) - 拥有所有权限
- 操作员(operator) - 可执行脚本,管理服务器和脚本
- 查看员(viewer) - 只能查看信息,不能进行操作
项目结构
``` cloudPlat/ ├── src/ # 前端源码 │ ├── api/ # API接口 │ ├── components/ # 公共组件 │ ├── layout/ # 布局组件 │ ├── router/ # 路由配置 │ ├── store/ # 状态管理 │ ├── views/ # 页面组件 │ └── style.css # 全局样式 ├── backend/ # 后端源码 │ ├── routes/ # API路由 │ ├── models.py # 数据模型 │ ├── app.py # Flask应用 │ └── requirements.txt # 依赖包 ├── package.json # 前端依赖配置 ├── vite.config.js # Vite配置 └── README.md # 项目说明 ```
开发说明
代码规范
- 遵循ESLint和Prettier代码格式化
- 使用TypeScript类型检查(推荐)
- 组件命名采用PascalCase
- 文件命名采用kebab-case
安全特性
- JWT Token过期机制
- 密码哈希存储
- SQL注入防护
- CORS跨域保护
许可证
MIT License
技术支持
如有问题,请提交Issue或联系开发团队。