No description
Find a file
2026-01-18 09:55:45 +08:00
.trae/documents 添加了简单的tab补全 2026-01-18 08:47:48 +08:00
backend 添加了凭据功能 2026-01-18 09:55:45 +08:00
docker 初始化 2026-01-17 20:00:18 +08:00
docs 初始化 2026-01-17 20:00:18 +08:00
frontend 添加了凭据功能 2026-01-18 09:55:45 +08:00
other 初始化 2026-01-17 20:00:18 +08:00
scripts 初始化 2026-01-17 20:00:18 +08:00
tests 初始化 2026-01-17 20:00:18 +08:00
.gitignore 排除node_modules 2026-01-17 22:23:41 +08:00
create_test_credential.py 添加了凭据功能 2026-01-18 09:55:45 +08:00
create_test_host.py 添加了凭据功能 2026-01-18 09:55:45 +08:00
docker-compose.yml 初始化 2026-01-17 20:00:18 +08:00
docs.html 系统修复与功能完善:修复SSH终端、导航栏、API端点等问题 2026-01-17 22:01:52 +08:00
package-lock.json 初始化 2026-01-17 20:00:18 +08:00
README.md 初始化 2026-01-17 20:00:18 +08:00
smanager.db 添加了凭据功能 2026-01-18 09:55:45 +08:00
smanager.sh 初始化 2026-01-17 20:00:18 +08:00
start.sh 初始化 2026-01-17 20:00:18 +08:00
start_services.py 初始化 2026-01-17 20:00:18 +08:00
start_smanager.sh 初始化 2026-01-17 20:00:18 +08:00
stop.sh 初始化 2026-01-17 20:00:18 +08:00
test_decrypt.py 添加了凭据功能 2026-01-18 09:55:45 +08:00
test_login.py 初始化 2026-01-17 20:00:18 +08:00
test_salt.py 添加了凭据功能 2026-01-18 09:55:45 +08:00
test_ssh_connection.py 添加了凭据功能 2026-01-18 09:55:45 +08:00
test_ssh_hosts.py 添加了凭据功能 2026-01-18 09:55:45 +08:00

运维管理系统

一个现代化的运维管理平台结合堡垒机安全控制功能支持主机管理、监控告警、SSH连接和移动端访问。

🚀 功能特性

核心功能

  • 🔐 用户认证与权限管理: 基于RBAC的完整权限控制系统
  • 🖥️ 主机自动发现与管理: 支持多种扫描方式,主机分组和标签管理
  • 📊 系统监控与告警: 实时监控数据,智能告警系统
  • 🔒 堡垒机安全控制: SSH连接管理会话录像操作审计
  • 📱 移动端支持: PWA渐进式Web应用响应式设计

高级功能

  • 🌍 国际化支持: 中英文双语,可扩展多语言
  • 📈 数据可视化: 实时图表,监控大屏
  • 🔧 批量操作: 批量导入导出,批量命令执行
  • 📝 审计日志: 完整的操作记录和合规支持
  • 🤖 自动化运维: 定时任务,自动巡检,故障自愈

🛠️ 技术架构

后端技术栈

  • 框架: FastAPI + Python 3.9+
  • 数据库: SQLite (开发环境) / PostgreSQL (生产环境)
  • 认证: JWT + RBAC权限系统
  • 监控: psutil + paramiko + python-nmap

前端技术栈

  • 框架: Vue.js 3 + JavaScript
  • UI组件: Element Plus
  • 状态管理: Pinia
  • 构建工具: Vite
  • PWA: Service Worker + Manifest

部署技术

  • 容器化: Docker + Docker Compose
  • Web服务器: Nginx
  • 反向代理: WebSocket支持

📋 项目结构

smanager/
├── backend/                    # FastAPI后端
│   ├── app/
│   │   ├── api/               # API路由
│   │   ├── core/              # 核心功能
│   │   ├── models/            # 数据库模型
│   │   └── utils/             # 工具函数
│   ├── alembic/               # 数据库迁移
│   ├── core/                  # 核心模块
│   ├── security/              # 安全模块
│   ├── transfer/              # 文件传输模块
│   ├── requirements.txt       # 依赖管理
│   └── requirements-dev.txt   # 开发依赖
├── frontend/                   # Vue.js前端
│   ├── src/
│   │   ├── views/            # 页面组件
│   │   ├── services/         # API服务
│   │   ├── stores/           # 状态管理
│   │   ├── utils/            # 工具函数
│   │   └── locales/          # 国际化文件
│   ├── public/               # 静态资源
│   ├── package.json          # 前端依赖
│   └── vite.config.js        # Vite配置
├── docker/                    # Docker配置
├── docs/                      # 项目文档
├── scripts/                   # 脚本文件
├── start.sh                   # 启动脚本
├── stop.sh                    # 停止脚本
└── docker-compose.yml         # Docker Compose配置

🚀 快速开始

环境要求

  • Python 3.9+
  • Node.js 16+
  • Docker & Docker Compose (可选)

一键启动

最简单的启动方式是使用一键启动脚本:

# 克隆项目
git clone <repository-url>
cd smanager

# 启动所有服务
./start.sh

脚本会自动:

  • 检查系统依赖
  • 启动后端API服务器 (端口8000)
  • 启动前端开发服务器 (端口3000)
  • 显示服务状态和访问地址

手动启动

如果需要手动启动各个服务:

# 启动后端
cd backend
python3 -m uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload

# 启动前端
cd frontend
npm run dev

访问应用

生产环境部署

  1. 配置环境变量
cp .env.example .env
# 编辑 .env 文件,设置生产环境配置
  1. 启动生产环境
docker-compose up -d

📖 API文档

启动后端服务后,可以访问:

🔧 配置说明

环境变量

主要的环境变量配置(详见 .env.example

# 应用配置
APP_NAME="运维管理系统"
DEBUG=false
SECRET_KEY=your-secret-key

# 数据库配置
DATABASE_URL=sqlite:///./smanager.db
# 生产环境使用PostgreSQL
# DATABASE_URL=postgresql://user:password@localhost:5432/smanager

# JWT配置
JWT_SECRET_KEY=your-jwt-secret
JWT_ACCESS_TOKEN_EXPIRE_MINUTES=30

# 监控配置
MONITORING_INTERVAL=60
SESSION_TIMEOUT=1800

权限配置

系统预定义角色:

  • 超级管理员: 全部权限
  • 系统管理员: 系统和用户管理
  • 运维工程师: 主机管理和监控
  • 只读用户: 查看权限

🧪 测试

# 后端测试
cd backend
python -m pytest tests/

# 前端测试
cd frontend
npm run test

📝 开发指南

代码规范

  • 后端: PEP 8 规范
  • 前端: ESLint 规范
  • 提交: Conventional Commits

分支策略

  • main: 生产环境分支
  • develop: 开发环境分支
  • feature/*: 功能开发分支
  • hotfix/*: 紧急修复分支

🔒 安全特性

  • JWT Token认证
  • RBAC权限控制
  • 密码加密存储
  • SQL注入防护
  • XSS防护
  • CSRF防护
  • 操作审计日志
  • SSH会话录像
  • 数据传输加密

📱 移动端

  • PWA支持可安装到主屏幕
  • 响应式设计,适配各种设备
  • 离线功能支持
  • 推送通知

🌍 国际化

  • 简体中文
  • English
  • 可扩展其他语言

📊 系统状态

<EFBFBD> 当前功能

  • 用户认证: 完整的登录/登出功能
  • 主机管理: 主机增删改查,分组管理
  • SSH连接: Web终端命令执行
  • 系统监控: 主机状态监控
  • 审计日志: 操作记录和审计
  • 前端界面: 完整的Vue组件
  • API文档: Swagger和ReDoc文档

🚧 开发中功能

  • 批量操作: 批量命令执行
  • 自动发现: 网络主机扫描
  • 告警系统: 智能告警和通知
  • 移动端优化: PWA完善
  • 多语言支持: 国际化完善

📄 许可证

MIT License

🤝 贡献

欢迎提交Issue和Pull Request

📞 支持

💡 提示

  • 启动服务: ./start.sh
  • 停止服务: ./stop.sh
  • 查看日志: tail -f logs/*.log
  • 重启服务: ./stop.sh && ./start.sh