一个基于 Vue3 + TypeScript + Element Plus 前端和 Python Flask + SQLite 后端的 vSphere 运维管理平台。



git clone <repository-url>
cd rsync-vsphere
# 复制配置文件模板
cp config.ini.template config.ini
# 编辑配置文件,填入你的 vSphere 环境信息
vim config.ini
cd backend
python init_database_with_vsphere.py
# 创建虚拟环境
cd backend
python3 -m venv venv
# 激活虚拟环境
source venv/bin/activate # Linux/Mac
# 或
venv\Scripts\activate # Windows
# 安装依赖
pip install -r requirements.txt
# 启动后端服务
python app.py
后端服务将在 http://localhost:8000 启动
# 安装依赖
cd frontend
npm install
# 启动开发服务
# ⚠️ 需要注意.env.development 文件中定义的后端接口地址,VITE_API_BASE_URL
npm run dev
前端服务将在 http://localhost:8080 启动
项目提供了便捷的启动脚本:
# 启动所有服务
./start_all.sh
# 停止所有服务
./stop_all.sh
如果不使用启动脚本,可以手动启动:
# 启动后端(在 backend 目录下)
source venv/bin/activate
python app.py
# 启动前端(在 frontend 目录下)
npm run dev
确保系统已安装 Docker 和 Docker Compose:
# 检查 Docker 版本
docker --version
docker-compose --version
git clone <repository-url>
cd rsync-vsphere
# 复制配置文件模板
cp config.ini.template config.ini
# 编辑配置文件,填入你的 vSphere 环境信息
vim config.ini
# 构建镜像并启动所有服务
docker-compose up -d
# 或者先构建再启动
docker-compose build
docker-compose up -d
# 查看容器运行状态
docker-compose ps
# 查看服务日志
docker-compose logs -f
# 查看特定服务日志
docker-compose logs -f backend
docker-compose logs -f frontend
# 停止所有服务
docker-compose down
# 停止服务并删除数据卷(谨慎使用)
docker-compose down -v
当代码更新后,需要重新构建镜像:
# 重新构建并启动
docker-compose build --no-cache
docker-compose up -d
使用 Docker Compose 运行时,以下目录会自动创建并持久化数据:
./data/: 数据库文件存储目录./logs/: 应用日志文件存储目录注意事项:
config.ini 需要在启动前准备好无论使用哪种运行方式,系统启动后可通过以下地址访问:


环境管理
宿主机监控
虚拟机管理
数据同步
# 用户登录
POST /api/auth/login
{
"username": "admin",
"password": "admin123"
}
# 用户登出
POST /api/auth/logout
# 验证令牌
GET /api/auth/verify
# 获取环境列表
GET /api/environments
# 添加环境
POST /api/environments
{
"name": "生产环境",
"vcenter_host": "vcenter.example.com",
"vcenter_user": "administrator@vsphere.local",
"vcenter_password": "password",
"vcenter_port": 443
}
# 测试环境连接
POST /api/environments/test
# 删除环境
DELETE /api/environments/{id}
# 获取宿主机列表
GET /api/hosts?environment_id=1
# 获取虚拟机列表
GET /api/vms?environment_id=1&status=poweredOn
# 获取系统统计
GET /api/system/stats
# 手动同步所有环境
POST /api/sync/all
# 同步特定环境
POST /api/sync/environment/{id}
# 获取同步状态
GET /api/sync/status
data/vsphere_monitor.dblogs/vsphere_monitor.log无法连接 vCenter
数据同步失败
前端无法访问后端
页面显示无数据
Docker 相关问题
systemctl status dockerdocker-compose psdocker-compose logs -fdocker-compose build --no-cache# 检查端口占用
lsof -i :8000 # 后端端口
lsof -i :8080 # 前端端口
# 检查服务状态
ps aux | grep python # 后端进程
ps aux | grep node # 前端进程
# Docker 环境检查
docker-compose ps # 容器状态
docker-compose logs # 容器日志
# 查看实时日志
tail -f logs/vsphere_monitor.log
# 查看错误日志
grep ERROR logs/vsphere_monitor.log
# 查看同步日志
grep "sync" logs/vsphere_monitor.log
# 查看所有服务日志
docker-compose logs -f
# 查看后端日志
docker-compose logs -f backend --tail=100
# 查看前端日志
docker-compose logs -f frontend --tail=100
# 查看特定时间的日志
docker-compose logs --since="2024-01-01T00:00:00" backend
git checkout -b feature/AmazingFeature)git commit -m 'Add some AmazingFeature')git push origin feature/AmazingFeature)本项目采用 MIT 许可证 - 查看 LICENSE 文件了解详情
如果您在使用过程中遇到问题,请:
注意: 请确保您的 vSphere 环境版本兼容,建议使用 vSphere 6.x/7.x 或更高版本。
注意:本平台为只读监控系统,仅提供 vSphere 环境的监控和展示功能,不提供虚拟机的操作功能。首次运行后请通过 Web 界面添加 vSphere 环境配置。