# 3d-idc-visual **Repository Path**: cheng666333/3d-idc-visual ## Basic Information - **Project Name**: 3d-idc-visual - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 55 - **Forks**: 12 - **Created**: 2026-05-21 - **Last Updated**: 2026-08-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 最新更新截图 ### 3D大屏 ![image-20260817225715752](README.assets/image-20260817225715752.png) ![image-20260817225735207](README.assets/image-20260817225735207.png) ![image-20260817225947309](README.assets/image-20260817225947309.png) ![image-20260817230013008](README.assets/image-20260817230013008.png) ![image-20260817230040403](README.assets/image-20260817230040403.png) ### 机房规划 ![image-20260817230123415](README.assets/image-20260817230123415.png) ### 故障记录 ![image-20260817230150437](README.assets/image-20260817230150437.png) ### 上下架工单 ![image-20260817230323438](README.assets/image-20260817230323438.png) ![image-20260817230342765](README.assets/image-20260817230342765.png) ![image-20260817230408277](README.assets/image-20260817230408277.png) # 用 3D 视角管理机房资产:可视化机柜系统,让 IDC 运维从表格走向现场 如果你维护过机房资产,大概率遇到过这些场景: - 设备到底在哪个数据中心、哪个机房、哪一列、哪台机柜、哪几个 U 位? - Excel 台账里写着在线,现场却已经下架,故障记录和资产记录对不上。 - 机柜 U 位调整靠人工口头同步,改完之后才发现位置冲突。 - 故障处理、上下架记录、账号权限、审计日志、知识文档分散在多个工具里。 - 想给管理层看一张直观的大屏,却只能临时拼报表、画拓扑。 这个项目要解决的,就是把“机房资产台账”变成一套真正可操作、可定位、可审计、可沉淀的运维管理平台。 它不是一个简单的机柜静态展示页,而是一套基于 `Go + Vue 3 + MySQL 8 + Three.js` 的前后端分离系统,覆盖数据中心、机房、机柜、设备、2D/3D 可视化、故障处理、导入导出、权限审计、访问控制、授权管理和运维知识库。 ## 它适合谁? 这套系统适合下面这些场景: - 中小型数据中心、企业机房、边缘机房,需要维护设备资产和机柜 U 位。 - 运维团队希望从 Excel 台账升级到 Web 管理平台。 - 需要把机房资源、故障记录、上下架记录、审计日志统一起来。 - 想用 3D 机房视图做设备定位、故障高亮和大屏展示。 - 希望私有化部署,自己掌控数据库、附件、授权和访问控制。 - 想基于现有项目二次开发一套更贴合自己业务的 IDC 管理平台。 ![image-20260703204507022](微信公众号和Gitee推广文章.assets/image-20260703204507022.png) ## 核心亮点 ### 1. 数据中心 / 机房 / 机柜 / 设备全链路管理 系统把机房资源拆成清晰的层级: ```text 数据中心 -> 机房 -> 机柜 -> 设备 ``` 每台设备都能记录机柜位置、U 位范围、SN、资产编号、主机 IP、BMC 信息、负责人、部门、运行状态、上下架状态、上架时间和工单编号。 这意味着设备不再只是表格里的一行数据,而是能被定位、被移动、被审计、被追踪的一项真实资产。 ![image-20260703211235199](微信公众号和Gitee推广文章.assets/image-20260703211235199.png) ### 2. 2D 机柜图:U 位占用一眼看清 系统提供 2D 机柜视图,按 U 位展示设备占用情况。 你可以直观看到: - 哪些 U 位已被占用; - 设备占用了几个 U; - 哪些位置还空着; - 拖拽调整前是否存在 U 位冲突; - 保存位置变更前是否需要二次确认。 这对日常上架、迁移、扩容、核对现场位置非常实用。 ![image-20260703211328119](微信公众号和Gitee推广文章.assets/image-20260703211328119.png) ### 3. 3D 机房拓扑:从“查表”变成“定位” 系统内置 3D 机房拓扑能力,支持: - 机房总览; - 单机柜视图; - 设备搜索; - 故障高亮; - 大屏模式; - 设备详情面板; - 从控制台或故障记录跳转到 3D 定位。 当你知道一台设备的 SN 或名称时,不必再翻台账、找列号、找机柜编号,可以直接在 3D 视图中定位它。 ![image-20260703211748352](微信公众号和Gitee推广文章.assets/image-20260703211748352.png) ![image-20260703211823714](微信公众号和Gitee推广文章.assets/image-20260703211823714.png) ![image-20260703211942428](微信公众号和Gitee推广文章.assets/image-20260703211942428.png) ![image-20260703211840724](微信公众号和Gitee推广文章.assets/image-20260703211840724.png) ### 4. 故障管理:故障不再和资产割裂 设备故障可以直接绑定到具体设备,并支持: - 故障等级; - 故障状态; - 故障摘要; - 附件上传; - 全局故障记录查询; - 当前未恢复故障总览; - 从故障列表进入 3D 定位; - 从 3D 设备详情跳转到故障处理。 这让故障处理从“单独记一张表”变成资产生命周期的一部分。 ![image-20260703211713671](微信公众号和Gitee推广文章.assets/image-20260703211713671.png) ### 5. 上下架记录:设备生命周期有迹可循 系统区分“运行状态”和“上下架状态”: - `online / offline / maintenance` 用于表示设备运行状态; - `mounted / unmounted` 用于表示设备是否仍占用机柜 U 位。 设备下架后不会从资产台账中消失,而是不再占用 U 位,也不再出现在 2D/3D 机柜图中,同时保留历史位置和上下架记录。 这对资产追踪、交接审计、历史回溯都很关键。 ![image-20260703212059819](微信公众号和Gitee推广文章.assets/image-20260703212059819.png) ### 6. Excel 导入导出:兼容现实工作流 很多团队已经有设备台账,不可能一夜之间全部迁移到新系统。 所以项目支持: - 设备 Excel 模板下载; - 批量导入; - 导入预检; - 按 SN 更新或新建设备; - 导出设备数据; - 导入失败时提示具体行号、机柜、U 位范围和冲突设备。 对于设备系统密码和 BMC 密码这类敏感信息,系统做了权限控制:只有超级管理员或被显式授权的用户才能进行敏感导出。 ![image-20260703210404357](微信公众号和Gitee推广文章.assets/image-20260703210404357.png) ![image-20260703211006823](微信公众号和Gitee推广文章.assets/image-20260703211006823.png) ![image-20260703211155362](微信公众号和Gitee推广文章.assets/image-20260703211155362.png) ### 7. 权限与审计:不是“谁都能改” 系统内置角色、用户、数据中心范围控制和审计日志。 可覆盖这些常见要求: - 超级管理员拥有全局能力; - 普通运维只管理授权范围内的数据中心; - 只读用户只能查看; - 审计用户可以查看日志; - 查看凭据、导出密码、删除、恢复、访问控制变更等高风险行为写入审计。 这对企业内部系统很重要:能看、能改、能导出、能删除,必须分清楚。 ![image-20260703212142336](微信公众号和Gitee推广文章.assets/image-20260703212142336.png) ![image-20260703212202443](微信公众号和Gitee推广文章.assets/image-20260703212202443.png) ### 8. 邮件通知:账号开通、重置密码、找回密码都有闭环 很多内部系统上线后,账号发放和密码重置都会变成管理员的日常琐事。这个项目把邮件能力放进了系统设置里,由超级管理员在后台维护: - 系统访问地址,用于邮件里的登录链接; - 邮件启用开关; - SMTP 服务器、端口和加密方式; - SMTP 账号、SMTP 密码; - 发件人名称和发件人邮箱; - 临时密码有效期; - 测试收件邮箱和发送测试邮件。 邮件能力覆盖了三个常见场景: - 创建用户时,可以发送账号开通邮件; - 管理员重置密码时,可以发送密码重置邮件; - 登录页支持用户通过绑定邮箱自助找回密码。 临时密码不是无限期有效,系统会记录过期时间,并在用户登录后强制进入改密流程。SMTP 密码也不会明文保存,而是使用 `DEVICE_SECRET_KEY` 加密后写入数据库。对企业内网系统来说,这种细节非常实用。 ![image-20260703212303813](微信公众号和Gitee推广文章.assets/image-20260703212303813.png) ![image-20260703214919145](微信公众号和Gitee推广文章.assets/image-20260703214919145.png) ![image-20260703214954363](微信公众号和Gitee推广文章.assets/image-20260703214954363.png) ![image-20260703215129984](微信公众号和Gitee推广文章.assets/image-20260703215129984.png) ![image-20260703215110181](微信公众号和Gitee推广文章.assets/image-20260703215110181.png) ![image-20260703215155963](微信公众号和Gitee推广文章.assets/image-20260703215155963.png) ### 9. 备份恢复:不是只有“能跑”,还要能恢复 运维系统最怕两件事:数据丢失,以及出了问题不知道恢复到哪里。 项目内置了备份管理能力,超级管理员可以在 Web 页面维护备份策略: - 是否启用定时备份; - 备份执行时间; - 备份保留份数; - 备份加密密码; - 立即备份; - 下载备份; - 上传备份恢复; - 从备份列表中恢复; - 删除旧备份。 后端生成的备份包格式为 `.rkbak`,默认包含: - MySQL 全量 dump; - 上传附件目录; - 授权公钥; - 备份元信息; - 后端环境文件快照。 备份任务状态和任务日志会保存在备份目录的 `jobs/` 子目录中,页面刷新后仍能看到最近一次任务的进度、失败原因和处理建议。Docker 部署时,备份目录可以通过 `BACKUP_HOST_PATH` 映射到宿主机,便于放到独立磁盘或纳入异地备份策略。 这部分能力让它更像一个能长期运行的内部系统,而不只是一个演示项目。 ![image-20260703215308854](微信公众号和Gitee推广文章.assets/image-20260703215308854.png) ![image-20260703215346563](微信公众号和Gitee推广文章.assets/image-20260703215346563.png) ### 10. 运维知识库:把经验留在系统里 项目还内置了独立的运维知识库模块。 它不是简单的备注字段,而是一个全屏文档工作台,支持: - 知识库创建与删除; - 目录 / 文档树; - 富文本编辑; - 代码块高亮; - 表格; - 截图粘贴; - 本地图片上传; - 远程图片拉取; - 图片大图预览; - 附件管理; - 版本历史; - 全屏阅读; - Markdown 导入; - Markdown / Word / PDF 导出; - 知识库级 `owner / editor / viewer / none` 权限。 设备在哪里、故障怎么处理、变更怎么做、排障经验怎么沉淀,可以在同一套系统里闭环。 ![image-20260703215415149](微信公众号和Gitee推广文章.assets/image-20260703215415149.png) ![image-20260703215446597](微信公众号和Gitee推广文章.assets/image-20260703215446597.png) ![image-20260703215530048](微信公众号和Gitee推广文章.assets/image-20260703215530048.png) ### 11. 私有化部署与可控授权 系统支持 Docker Compose 一键部署,也支持本地源码运行。 授权机制采用“私钥签发 + 公钥校验”思路: - 客户系统只保留公钥; - 内部签发环境保留私钥; - 正式授权文件使用私钥签名; - 客户导入授权文件后由后端使用公钥校验; - 授权状态、授权文件历史、授权申请记录保存到数据库; - 支持机器指纹绑定,防止直接克隆机器绕过授权。 如果你要做一个可私有化交付的机房管理产品,这部分能力很值得参考。 ## 技术栈 后端: ```text Go net/http MySQL 8 数据库迁移脚本 Token 登录 权限 ACL 审计日志 SMTP 邮件通知 授权校验 加密备份恢复 备份任务日志 ``` 前端: ```text Vue 3 Vue Router Pinia Axios Three.js XLSX Tiptap Vite ``` 部署: ```text Docker Compose Nginx MySQL 持久化卷 附件持久化 日志持久化 备份目录持久化 授权公钥挂载 ``` ## 快速启动 ### Docker Compose 方式 ```powershell cp .env.example .env docker compose up -d ``` ![image-20260703222322163](微信公众号和Gitee推广文章.assets/image-20260703222322163.png) 启动后默认访问: ```text 前端:http://127.0.0.1 后端:http://127.0.0.1:8080/api/v1/health MySQL:127.0.0.1:3306 ``` ## 你可以怎么用它? ### 如果你是运维负责人 你可以用它统一管理设备资产、机柜 U 位、故障记录、上下架记录、审计日志和知识文档。 它适合从“Excel + 人工同步 + 临时截图”升级到“系统化资产管理 + 2D/3D 可视化 + 审计闭环”。 ### 如果你是开发者 你可以把它当作一个完整的 Go + Vue 3 企业管理系统样例: - 前后端分离; - 复杂业务表单; - 权限控制; - 审计日志; - 邮件通知; - 加密备份恢复; - Excel 导入导出; - 3D 可视化; - 富文本知识库; - Docker 私有化部署; - 授权机制设计。 相比从零搭一个后台,它已经有比较完整的业务骨架。 ### 如果你做私有化项目 你可以参考它的部署、授权、备份、访问控制、审计和附件持久化方案。 这些能力单独看都不复杂,但真正交付到客户现场时,每一项都会变成“必须有”的基础设施。 ## 项目目录概览 ```text backend/ Go 后端服务 frontend/ Vue 3 前端 docs/ 项目文档 scripts/ 本地开发脚本 tools/ 内部工具 docker-compose.yml Docker Compose 部署入口 README.md 项目说明 ``` 正式应用以 `backend/ + frontend/` 为准,根目录历史 `index.html / app.js / styles.css` 只是早期演示文件,不再作为正式入口维护。 ## 项目介绍? 可以用这段作为仓库简介: > 可视化机柜系统是一套面向数据中心运维的资产与可视化管理平台,支持数据中心、机房、机柜、设备全链路管理,提供 2D 机柜图与 3D 机房拓扑,内置故障管理、上下架记录、Excel 导入导出、邮件通知、加密备份恢复、运维知识库、权限审计、IP 白名单访问控制与私有化授权机制。 推荐标签: ```text IDC 机房管理 机柜管理 资产管理 CMDB Vue3 Go Three.js MySQL Docker 运维平台 可视化 邮件通知 备份恢复 ``` ## 写在最后 很多机房管理系统最大的问题,不是没有数据,而是数据离现场太远。 设备在表格里,故障在聊天记录里,位置在老师傅脑子里,变更在工单里,知识在个人笔记里。等真正出问题时,大家又要重新拼线索。 这个项目试图把这些线索收拢到一个系统里: - 用资产台账承载基础数据; - 用 2D 机柜图表达 U 位占用; - 用 3D 机房图做空间定位; - 用故障记录串起处理过程; - 用上下架记录保留生命周期; - 用审计日志守住操作边界; - 用邮件通知减少账号沟通成本; - 用加密备份守住恢复底线; - 用知识库沉淀运维经验。 如果你正在做数据中心、机房、设备资产、CMDB、运维平台或 3D 可视化相关项目,可以把它拉下来跑一跑。即使不直接使用,也很适合作为一个可私有化、可扩展、贴近真实运维场景的工程参考。 ## 联系作者 VX : ITcheng9527