- 模型管理:自定义模型属性、加密属性、关联关系
- 模型属性:支持字符串、多行文本、列表、文件
- 全文检索:基于 Percona MongoDB 的
ngram
全文搜索 - 资产关联:可视化资产关系图谱,支持复杂关联查询
- Web 终端:定制化模型集成 SSH/SFTP 功能,支持远程资产操作
- 可视化流程设计:拖拽式流程设计器,支持或签、并签、会签、抄送等复杂流程
- 自定义表单:基于 form-create 的动态表单生成
- 自动化任务:支持定时任务、重试机制、变量篡改等高级功能
- 智能调度:根据模板字段自动发现执行节点
- 消息集成:深度集成飞书消息通知,可以在飞书完成审批工作
- 多认证方式:支持 LDAP、账号密码等多种登录方式
- 细粒度权限:支持菜单、按钮、API 接口的精细化权限控制
- 动态权限:基于 Casbin 的灵活权限策略配置
- 部门管理:支持组织架构管理和人员分组
- 灵活排班规则:支持日、小时时间单位的排班
- 智能调度算法:基于 RRULE 算法的排班计算
- 临时调班:支持临时调班规则和特殊排班需求
- 可视化排班表:直观的排班表展示和预览功能
💡 提示:当前排班功能开发完成,暂时还没和本系统模块进行集成
- 语言框架:Go 1.21+ + Gin + GORM
- 数据库:Percona MongoDB + MySQL + Redis Stack
- 消息队列:Kafka + Etcd
- 权限控制:Casbin + JWT
- 流程引擎:Easy-Workflow
- 依赖注入:Google Wire
- 框架:Vue 3 + TypeScript
- UI 组件:Element Plus
- 状态管理:Pinia
- 构建工具:Vite
- 容器化:Docker + Docker Compose
- CI/CD:Github Action 自动构建镜像
- Go 1.21+
- Docker & Docker Compose
- MongoDB 4.4+
- MySQL 8.0+
- Redis 6.0+
# 创建网络
docker network create ecmdb
# 启动服务
docker compose -p ecmdb -f deploy/docker-compose.yaml up -d
# 初始化系统
docker exec -it ecmdb ./ecmdb init
- 用户名:admin
- 密码:123456
当前系统已进入 GA(General Availability) 阶段,核心功能稳定可靠,欢迎企业级用户使用!
- ✅ CMDB 模块:功能完整,性能优化
- ✅ 工单系统:流程引擎稳定,支持复杂业务场景
- ✅ 权限管理:安全可靠,支持多种认证方式
- ✅ 排班管理:算法优化,支持灵活排班需求
我们欢迎所有形式的贡献!如果您想参与项目开发,请:
- Fork 本仓库
- 创建特性分支 (
git checkout -b feature/AmazingFeature
) - 提交更改 (
git commit -m 'Add some AmazingFeature'
) - 推送到分支 (
git push origin feature/AmazingFeature
) - 创建 Pull Request
本项目完整运行,包含以下核心组件:
项目 | 描述 | 仓库地址 |
---|---|---|
前端界面 | Vue3 + TypeScript 现代化前端 | ecmdb-web |
任务执行器 | 分布式任务执行引擎 | ework-runner |
消息通知 | 统一消息通知服务 | enotify |
💡 提示:如果没有工单自动化任务需求,可以不部署任务执行器
![]() |
![]() |
---|---|
首页导航 | CMDB 资产管理 |
![]() |
![]() |
菜单管理 | 排班管理 |
![]() |
![]() |
工单列表 | 流程控制 |
![]() |
![]() |
模版管理 | 自动化代码库 |
ecmdb/
├── internal/
│ ├── model # CMDB - 模型管理
│ ├── attribute # CMDB - 字段属性
│ ├── resource # CMDB - 资产数据
│ ├── relation # CMDB - 关联关系
│ ├── order # 工单 - 工单信息
│ ├── workflow # 工单 - 流程图
│ ├── template # 工单 - 工单模版
│ ├── task # 工单 - 自动化任务
│ ├── runner # 工单 - 执行单元
│ ├── worker # 工单 - 工作节点
│ ├── codebook # 工单 - 代码库
│ ├── discovery # 工单 - 自动发现
│ ├── rota # 排班 - 排班模块
│ ├── user # 权限 - 用户模块
│ ├── role # 权限 - 角色管理
│ ├── department # 权限 - 部门管理
│ ├── menu # 权限 - 菜单管理
│ ├── permission # 权限 - 权限控制
│ └── terminal # 终端 - Web终端
# 1. 安装依赖
go mod tidy
# 2. 启动服务
go run main.go start
# 3. 初始化数据
go run main.go init
# 更新菜单
bash ./scripts/update-menu.sh
支持企业微信 OA 回调消息,实现自动化任务执行
支持企业 LDAP 认证,配置示例:
ldap:
enabled: true
host: ldap.company.com
port: 389
base_dn: "dc=company,dc=com"
user_dn: "cn=admin,dc=company,dc=com"
password: "admin_password"
- 数据加密: 敏感数据 AES 加密存储
- 权限控制: 基于 Casbin 的细粒度权限管理
- API 安全: 菜单权限 + 接口鉴权
- 多源告警接入:支持 Prometheus、Loki 等主流监控系统
- 智能告警聚合:基于规则引擎的告警去重、降噪和聚合
- 告警转工单:自动将告警转换为工单,实现闭环管理
- 告警升级:基于严重程度和时间的自动升级机制
- 可视化大屏:实时告警监控大屏,支持自定义仪表板
- 变更审批流程:标准化的变更申请、审批、执行流程
- 影响分析:自动分析变更对系统的影响范围
- 回滚机制:支持变更回滚和版本管理
- 变更日历:变更窗口管理和冲突检测
- 合规审计:完整的变更记录和审计跟踪
- 自动化部署:与 CI/CD 集成的自动化变更执行
- 🔄 智能告警系统开发
- 🔄 告警转工单功能
- 🔄 多渠道通知集成
- ✅ 优化工单消息通知
- ✅ 修复部分已知的问题
- ✅ 完善排班管理功能
- ✅ 新增排班管理模块
- ✅ 优化自动化任务执行
- ✅ 增强权限控制功能
- ✅ 改进用户界面体验
- ✅ 集成 Web 终端功能
- ✅ 新增自动发现机制
- ✅ 优化工单流程引擎
- ✅ 基础 CMDB 功能
- ✅ 工单流程系统
- ✅ 权限管理模块
- 微信: 添加微信 lkz-1008
- 邮件: 通过 GitHub Issues 联系
本项目采用 MIT 许可证,允许自由使用、修改和分发。