随手收集的一些资料、信息、图文等。

运维工作台 (simpleops)

面向多云资源纳管、本地机房 VMware/ProxmoxVE 资产治理、配置管理与自动化运维的一体化工作平台。Django + DRF + MySQL 的后端,Vue 3 + Element Plus + Rspack 的前端,RBAC 权限控制。


🚀 功能概览

运维工作台围绕 **云资源同步 → 资产归属匹配 ** ,将阿里云、本地虚拟化/物理设备、IP 地址库、数据库台账、项目信息及告警登记等分散能力整合到一个统一工作台中。


☁️ 阿里云资源纳管

通过 阿里云 API 手动同步 各类云资源,自动关联 [项目信息] 中维护的 所属项目、环境类型、负责人,实现资源→项目→责任人的清晰归属链路。

序号 资源类型 说明
1 ECS 云服务器 实例详情、规格、网络、归属项目
2 OSS 对象存储 Bucket 列表、地域、存储量、归属、授权详情
3 RAM 访问控制 用户、角色、权限策略展示
4 弹性公网 IP EIP 详情、绑定资源、带宽
5 公网 NAT 网关 SNAT 规则、关联 EIP 展示方便查询服务器对外访问公网IP
6 RDS 云数据库 实例信息、连接地址、归属项目
7 安全组 规则明细、关联主机信息(修改功能未测)
8 Web 应用防火墙 (WAF) WAF基础信息
9 SLB 负载均衡 监听、后端服务器、VIP
10 NAS 文件存储 文件系统、挂载点、容量
11 SLS 日志服务 Project、Logstore、索引
12 DNS 解析 域名、解析记录

核心能力:

  • 🔄 资源同步后自动匹配项目信息并展示资源归属明细
  • 🏷️ 每条资源均可追溯所属项目、环境类型、负责人
  • 📋 统一展示面板,支持搜索按项目、环境、资源类型筛选

🏭 本地机房资产管理

覆盖虚拟化平台与物理设备,将 vCenter / ProxmoxVE / 物理机 / 网络设备 纳入统一台账管理,并整合备份信息。

VMware 虚拟机

  • 路径: datacenter/vmwareasset
  • 数据来源: 同步 vCenter 资源
  • 功能:
    • 自动匹配项目信息(所属项目 / 环境类型 / 负责人)
    • 展示资源明细及归属
    • 🗄️ 可关联 NetBackup 备份策略 与 最近一次备份信息

Proxmox VE 虚拟机

  • 路径: datacenter/proxmoxasset
  • 数据来源: 同步 Proxmox Virtual Environment (v9.1.2版本测试通过)
  • 功能:
    • 自动匹配项目信息
    • 展示资源明细及归属
    • 🗄️ 关联 Proxmox Backup Server (PBS) 备份信息

物理机

  • 路径: datacenter/projectbaremetal
  • 维护方式: 手工录入
  • 台账内容:
    • 物理资产基础信息
    • 🔌 iDRAC /iBMC / 虚拟化地址 等远程管理连接入口
    • 🔐 管理账号及密码

网络设备

  • 路径: datacenter/projectnetworkdevice
  • 维护方式: 手工维护
  • 内容: 交换机、路由器、防火墙等网络设备台账

🗄️ 配置管理 (CMDB)

统一管理数据库实例、内网/公网 IP 地址及子网规划,作为全平台的基础数据源。

数据库台账

  • 路径: cmdb/database
  • 维护方式: 手工维护
  • 内容: 数据库类型、版本、连接信息、所属项目

内网 IP 地址管理

  • 路径: cmdb/ip_manage/intranet
  • 数据来源: 从各模块同步 + 手动维护
  • 策略: 🖐️ 手动维护优先 — 手动维护的 IP 地址同步数据时会自动跳过
  • 内容: 所有在用内网 IP、关联资源、使用状态

内网 IP 子网管理 (Grid 视图)

  • 路径: cmdb/ip_manage/IpSubnetGrid
  • 展示形式: Grid 网格化直观呈现子网使用情况
  • 功能: 子网段划分、已用/可用 IP 可视化、CIDR 管理

公网 IP 地址管理

  • 路径: cmdb/ip_manage/internet
  • 数据来源: 各模块同步 + 手动维护
  • 内容: 所有在用公网 IP、绑定资源信息

📋 项目信息管理

  • 路径: /project
  • 维护内容:
    • 所属项目
    • 环境类型
('prod', '生产环境'),
('test', '测试环境'),
('dev', '开发环境'),
('uat', '用户验收环境'),
('stg', '预生产环境'),
('dr', '灾备环境'),
('other', '其他')
  • 负责人
  • 核心作用: 作为 所有资源 API 同步时的匹配锚点,确保每一条资源都能准确挂载到对应项目和责任人

⚙️ 运维管理

  • 路径: /opsmgmt
  • 特殊告警登记:
    • 📝 记录特殊告警台账
    • 场景:长期屏蔽的告警、特殊阈值调整记录智能粘贴告警信息识别
    • 便于审计追溯,避免告警策略变更后信息丢失

🔐 权限控制 (RBAC)

系统具备标准 RBAC(基于角色的访问控制)权限体系,覆盖 菜单路由 → 页面按钮 的细粒度管控。

  • 路径: /permission
  • 核心模型:
    • 👤 用户 (User) — 继承 Django AbstractUser,支持多角色挂载
    • 🛡️ 角色 (Role) — 权限分配的载体,编码全局唯一
    • 🗂️ 菜单路由 (Router) — 对齐 vue-router,支持目录 / 菜单 / 按钮 / 外链四种类型
    • 🔑 按钮权限 (Permission) — 与菜单解耦的独立权限标识
  • 权限分配:
    • 角色绑定 菜单权限(控制左侧菜单可见性,仅目录/菜单/外链)
    • 角色绑定 按钮权限(控制页面内按钮显隐与接口访问)
    • 用户通过角色间接获得菜单与按钮权限
  • 菜单管理: 支持树形结构维护、排序、隐藏、缓存(keepAlive)、固定标签(affix)等 vab 特性

📝 日志审计

系统内置完整的操作审计能力,所有关键行为均可追溯。

  • 路径: /monitor/logs
  • 登录日志 (LoginLog):
    • 记录用户名、登录 IP、User-Agent、登录成功/失败状态、登录时间
    • 用于登录行为审计与异常登录排查
  • 操作日志 (OperationLog):
    • 记录操作人、请求 IP、HTTP 方法、请求路径、操作类型
    • 记录状态码、耗时(ms)、请求数据、响应数据
    • 通过中间件自动采集,无需业务代码侵入

运行界面:

演示数据效果图展示: 菜单管理

角色权限管理

ECS

IP管理

Proxmox VE

VMWare

仓库地址

GitHub https://github.com/rexonegit/simpleops

Gitee https://gitee.com/rexonegit/simpleops

GitCode https://gitcode.com/rexonegit/simpleops

安装数据库和 Python 3.12

scripts 下有 MySQL 8、Python 3.12 脚本(适配 Rocky Linux 8.10)
sh install_mysql.sh
sh install_python3.12.sh
后端启动步骤
新建数据库
CREATE DATABASE django_vue_admin CHARACTER SET utf8mb4;
create USER 'django_vue_admin'@'localhost' IDENTIFIED BY '你的密码';
GRANT ALL PRIVILEGES ON django_vue_admin.* TO 'django_vue_admin'@'localhost';

sudo yum install mysql-devel gcc -y
cd backend
pip install -r requirements.txt

如果慢使用阿里云源
pip install -i http://mirrors.aliyun.com/pypi/simple/ --trusted-host mirrors.aliyun.com -r requirements.txt

生成 SECRET_KEY 值
python3 -c "from django.core.management.utils import get_random_secret_key; print(get_random_secret_key())"
注意:生成出来不要带 django-insecure- 前缀,那是 Django 自动生成时给占位密钥打的标记,自己生成的安全密钥不需要这个前缀。

cd backend/django_vue_admin/conf
cp config.example.py config.py
vi config.py
添加 SECRET_KEY 值 数据库名、用户名、密码

建表
cd backend
python manage.py makemigrations
python manage.py migrate

初始化管理员基础菜单
python scripts/init_data.py

启动后端
python manage.py runserver 0.0.0.0:8000
前端启动步骤
前端
前端需要安装 node  
https://nodejs.org/dist/v20.20.2/node-v20.20.2-linux-x64.tar.xz
scripts 下有脚本 sh install_node.sh

启用 pnpm
npm install --global corepack@latest
corepack enable pnpm
pnpm -v

# 安装依赖
pnpm i --registry=http://mirrors.cloud.tencent.com/npm/

如果出现脚本警告
pnpm approve-builds

修改后端配置地址
vi web/src/config/net.config.js
192.168.100.100:8000
192.168.100.100修改为后端服务器IP

# 启动项目
npm run serve:rspack

访问 http://服务器IP地址:8091/

默认管理员
admin
123456

导入菜单
cd backend
python manage.py import_menus --file menu_export.json

备份菜单
cd backend
python manage.py export_menus --output=menu_export-`date '+%F-%H%M%S'`.json
配置账号与 Token
阿里云/Proxmox/vCenter:从 example 复制并填写
cp backend/aliyun/conf/aliyun.cnf.example backend/aliyun/conf/aliyun.cnf
cp backend/datacenter/conf/proxmox.cnf.example backend/datacenter/conf/proxmox.cnf
cp backend/datacenter/conf/vcenter.cnf.example backend/datacenter/conf/vcenter.cnf
# 然后编辑这三个 .cnf 文件填入真实凭据

阿里云模块配置
backend\aliyun\conf\aliyun.cnf
配置 
access_key = 
access_secret =

支持阿里云多账号,如果只有一个不用的字段 # 注释掉

VMware 和 Proxmox VE
backend\datacenter\conf\vcenter.cnf 配置 vCenter 地址 用户名 密码 需要有只读权限
HOST=
USER=
PASSWORD=

支持多个 vCenter 如果只有一个不用的字段 # 注释掉

backend\datacenter\conf\proxmox.cnf
配置 HOST 地址和 token

# 集群1
# PVE1_HOST=pve2.example.com
# PVE1_USER=cmdb@pve
# PVE1_TOKEN=cmdb@pve!cmdb-token=yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy
# PVE1_VERIFY_SSL=false

Proxmox VE API 配置说明
# 1. 在 PVE 节点上创建 API 用户
pveum user add cmdb@pve -comment "CMDB Sync User"
# 2. 创建 API Token(更安全,推荐)
pveum user token add cmdb@pve cmdb-token --privsep=0
# 保存输出的 token 值,格式: xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
# 3. 创建角色并授权(只读权限)
pveum role add CMDBReader -privs "VM.Audit,Datastore.Audit,Pool.Audit,SDN.Audit,Sys.Audit,VM.GuestAgent.Audit"
记录token 配置到文件中,没加集群就配置多个主机
PM2 后台运行
【可选】pm2 管理后台前端启动
npm install pm2 -g
cd backend/
pm2 start --name django "python manage.py runserver 0.0.0.0:8000"

cd web/
pm2 start --name vue3 "npm run serve:rspack"
赞(0)
个人小站,文章收集不易,转载请注明来源~!感谢!收集的一些乱七八糟的资料 » 运维工作台 (simpleops)
分享到