# cmdb **Repository Path**: educloudtest/cmdb ## Basic Information - **Project Name**: cmdb - **Description**: 基本信息 基本信息 基本信息 基本信息 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-28 - **Last Updated**: 2026-08-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # CMDB 运维资产管理系统 **版本:** 1.0.0-SNAPSHOT **启动日期:** 2026 年 3 月 16 日 **负责人:** 克莱尔 🦊 --- ## 📋 项目简介 CMDB(Configuration Management Database)运维资产管理系统是一套自动化、可视化、智能化的 IT 资产管理平台。 ### 核心功能 - ✅ **资产管理** - 服务器、网络设备、应用系统全生命周期管理 - ✅ **公网暴露面** - 公网 IP、开放端口、域名绑定管理 - ✅ **防火墙策略** - 安全组规则、iptables 规则管理 - ✅ **API 接口** - API 接口登记、文档关联、状态监控 - ✅ **域名证书** - SSL 证书管理、到期提醒、自动续期 - ✅ **账号权限** - 系统账号、权限级别、密码周期管理 - ✅ **自动化采集** - 定时采集资产信息、端口扫描、证书检查 - ✅ **告警通知** - 飞书/邮件/短信多渠道告警 --- ## 🚀 快速开始 ### 环境要求 - JDK 17+ - MySQL 8.0+ - Redis 7.0+ - Maven 3.8+ ### 1. 数据库初始化 ```bash # 登录 MySQL mysql -u root -p # 执行初始化脚本 source /root/.openclaw/workspace/cmdb/sql/init.sql ``` ### 2. 修改配置 编辑 `backend/src/main/resources/application.yml`: ```yaml spring: datasource: url: jdbc:mysql://localhost:3306/cmdb?useUnicode=true&characterEncoding=utf8 username: root password: your_password redis: host: localhost port: 6379 ``` ### 3. 启动后端 ```bash cd /root/.openclaw/workspace/cmdb/backend # Maven 构建 mvn clean install # 启动应用 mvn spring-boot:run ``` ### 4. 访问系统 - **API 文档:** http://localhost:8080/api/doc.html - **默认账号:** admin / admin123 --- ## 📁 项目结构 ``` cmdb/ ├── backend/ # 后端服务 │ ├── src/main/java/com/cmdb/ │ │ ├── CmdbApplication.java # 启动类 │ │ ├── common/ # 公共类 │ │ ├── config/ # 配置类 │ │ ├── controller/ # 控制器 │ │ ├── entity/ # 实体类 │ │ ├── mapper/ # Mapper 接口 │ │ ├── service/ # 服务层 │ │ ├── filter/ # 过滤器 │ │ └── util/ # 工具类 │ ├── src/main/resources/ │ │ ├── application.yml # 配置文件 │ │ └── mapper/ # MyBatis XML │ └── pom.xml # Maven 配置 ├── frontend/ # 前端项目(待开发) ├── sql/ # 数据库脚本 │ └── init.sql # 初始化脚本 ├── docs/ # 项目文档 └── scripts/ # 工具脚本 ``` --- ## 🔌 API 接口 ### 认证接口 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 登录 | POST | /api/auth/login | 用户登录 | | 登出 | POST | /api/auth/logout | 用户登出 | | 获取用户信息 | GET | /api/auth/info | 获取当前用户 | ### 资产接口 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 分页查询 | GET | /api/asset/page | 分页查询资产 | | 查询详情 | GET | /api/asset/{id} | 根据 ID 查询 | | 创建资产 | POST | /api/asset | 创建资产 | | 更新资产 | PUT | /api/asset/{id} | 更新资产 | | 删除资产 | DELETE | /api/asset/{id} | 删除资产 | ### 证书接口 | 接口 | 方法 | 路径 | 说明 | |------|------|------|------| | 查询列表 | GET | /api/certificate/list | 查询所有证书 | | 查询详情 | GET | /api/certificate/{id} | 根据 ID 查询 | | 即将到期 | GET | /api/certificate/expiring | 即将到期证书 | | 已过期 | GET | /api/certificate/expired | 已过期证书 | | 创建证书 | POST | /api/certificate | 创建证书 | | 更新证书 | PUT | /api/certificate/{id} | 更新证书 | | 删除证书 | DELETE | /api/certificate/{id} | 删除证书 | --- ## 🗄️ 数据库表 | 表名 | 说明 | |------|------| | sys_user | 用户表 | | sys_role | 角色表 | | sys_menu | 菜单表 | | sys_operation_log | 操作日志表 | | cmdb_asset | 资产信息表 | | cmdb_asset_change | 资产变更历史表 | | cmdb_exposure | 公网暴露面信息表 | | cmdb_port_scan | 端口扫描记录表 | | cmdb_firewall_rule | 防火墙策略表 | | cmdb_api | API 接口表 | | cmdb_certificate | 域名证书表 | | cmdb_account | 账号权限表 | | alert_record | 告警记录表 | | alert_config | 告警配置表 | | collect_task | 采集任务表 | | collect_task_log | 采集任务日志表 | --- ## 📅 开发计划 | 阶段 | 时间 | 内容 | |------|------|------| | 准备阶段 | Week 1-2 | 需求分析、架构设计、环境搭建 | | 后端开发 | Week 3-8 | 后端 API 开发、数据库设计 | | 前端开发 | Week 9-11 | 前端页面开发、UI 实现 | | 测试部署 | Week 12 | 系统测试、生产部署 | --- ## 🧪 测试 ### 单元测试 ```bash cd backend mvn test ``` ### 接口测试 使用 Postman 或 Knife4j 文档进行接口测试。 --- ## 📝 变更日志 ### v1.0.0-SNAPSHOT (2026-03-16) - ✅ 项目初始化 - ✅ 数据库设计完成 - ✅ 后端框架搭建 - ✅ 资产管理模块完成 - ✅ 证书管理模块完成 - ✅ 认证授权模块完成 --- ## 📄 许可证 Apache License 2.0 --- ## 👥 团队 - **项目经理:** 克莱尔 🦊 - **后端开发:** 克莱尔 - **前端开发:** 待招聘 --- **最后更新:** 2026-03-16