开源!企业级 CMDB + 工单一体化平台 开源!

企业级 CMDB + 工单一体化平台 开源!

源代码

https://www.gitpp.com/feature/project-dpqq-itcmdb

开源系统的深度解析,围绕其核心功能、技术架构、场景价值及部署运维展开,突出其作为企业级一体化管理平台的差异化优势:


一、系统定位与核心价值

系统名称:企业级一体化运维管理平台(基于CMDB的智能运维中枢)
核心价值
通过整合CMDB资产管理工单流程自动化精细化权限控制智能排班调度四大模块,解决企业IT运维中资产分散、流程低效、权限混乱、调度不智能等痛点,实现从资产发现到运维闭环的全链路数字化管理。

适用场景

  • IT运维管理
    :服务器、网络设备、应用系统的全生命周期管理
  • 跨部门协作
    :工单流转、审批流程、任务调度
  • 安全合规
    :权限审计、操作留痕、资产变更追踪
  • 资源调度
    :排班管理、自动化任务执行、智能负载均衡

二、核心功能模块详解

📊 1. CMDB 资产管理:动态资产图谱

  • 模型驱动设计
    • 自定义模型属性:支持字符串、多行文本、列表、文件等10+数据类型,满足多样化资产描述需求(如服务器配置、软件许可证信息)。
    • 加密属性:对敏感字段(如密码、密钥)进行AES加密存储,确保数据安全。
    • 关联关系:定义资产间的依赖关系(如“应用→依赖数据库→运行在服务器”),生成可视化关系图谱。
  • 全文检索能力
    • 基于Percona MongoDB的ngram分词引擎,支持中文模糊搜索(如搜索“阿里云ECS”可匹配“阿里云弹性计算服务ECS”)。
    • 搜索场景:资产快速定位、影响分析(如某服务器宕机时,快速查找关联的应用和业务线)。
  • Web终端集成
    • 通过SSH/SFTP协议直接操作远程资产,无需跳板机,支持命令执行、文件传输等操作,审计日志记录完整操作轨迹。

示例场景
当某数据库服务器故障时,运维人员可通过CMDB快速定位:

  1. 搜索“数据库”关键词,找到关联服务器资产。
  2. 查看服务器详情中的“依赖应用”列表,通知相关业务方。
  3. 通过Web终端直接登录服务器排查问题。

📋 2. 工单流程中心:自动化运维闭环

  • 可视化流程设计器
    • 拖拽式配置流程节点,支持或签(任一审批通过)、并签(全部审批通过)、会签(多人投票)、抄送等复杂逻辑。
    • 流程模板库:预置常见流程(如变更审批、故障申报),降低配置成本。
  • 动态表单引擎
    • 基于form-create实现表单字段动态渲染,根据流程阶段显示不同字段(如“故障申报”流程需填写影响范围,“变更审批”需填写回滚方案)。
  • 自动化任务集成
    • 定时任务:如每日自动备份数据库、每周生成运维报告。
    • 重试机制:任务失败后自动重试,支持设置最大重试次数和间隔时间。
    • 变量篡改:在流程执行中动态修改任务参数(如根据审批结果调整服务器配置)。
  • 飞书深度集成
    • 消息通知:工单状态变更(如“待审批”→“已通过”)实时推送至飞书群组。
    • 移动审批:在飞书工作台直接完成审批操作,无需登录系统。

示例场景
服务器扩容流程:

  1. 提交工单时填写新服务器规格、部署应用等信息。
  2. 流程自动触发以下任务:
    • 调用CMDB API检查资源配额是否充足。
    • 通过Ansible自动化脚本部署服务器。
    • 更新CMDB资产信息并发送通知至相关团队。

👥 3. 权限管理系统:零信任安全架构

  • 多认证方式
    • 支持LDAP集成,与企业AD域同步用户信息。
    • 本地账号密码认证,配合图形验证码防止暴力破解。
  • 细粒度权限控制
    • 菜单级权限:不同角色看到不同的菜单入口(如管理员可见“系统配置”,普通用户仅可见“我的工单”)。
    • 按钮级权限:控制操作按钮的显示(如仅允许管理员删除资产)。
    • API级权限:通过JWT Token中的角色信息校验接口访问权限。
  • 动态权限策略
    • 基于Casbin的RBAC+ABAC混合模型,支持自定义权限规则(如“仅允许用户A在工作时间访问生产环境服务器”)。

示例场景

  • 开发人员:仅能查看和操作测试环境的资产,且工单审批需经过测试负责人。
  • 运维主管:拥有所有环境的管理权限,但删除关键资产需二次确认。

📅 4. 排班管理系统:智能人力资源调度

  • 灵活排班规则
    • 支持按日、小时排班,适应不同工作制(如996、轮班制)。
    • 临时调班:员工可申请调班,审批通过后自动更新排班表。
  • 智能调度算法
    • 基于RRULE(RFC 5545标准)计算排班周期,支持复杂规则(如“每周末值班,但节假日除外”)。
  • 可视化排班表
    • 以日历形式展示排班信息,支持按部门、人员筛选查看。

当前状态
排班模块已独立开发完成,计划通过API与主系统集成(如工单自动分配给当前值班人员)。


三、技术架构解析

🏗️ 后端技术栈

  • 语言框架
    :Go 1.21+(高并发、低延迟) + Gin(轻量级Web框架) + GORM(ORM工具)。
  • 数据库
    • Percona MongoDB:存储CMDB资产数据,支持灵活的文档模型和全文检索。
    • MySQL:存储工单、权限等结构化数据。
    • Redis Stack:缓存热点数据(如权限策略)、实现分布式锁。
  • 消息队列
    • Kafka:处理高并发工单事件(如工单状态变更通知)。
    • Etcd:存储服务发现和配置信息。
  • 流程引擎
    :Easy-Workflow(轻量级流程引擎,支持复杂流程逻辑)。
  • 依赖注入
    :Google Wire(编译时依赖注入,提升代码可测试性)。

🎨 前端技术栈

  • 框架
    :Vue 3 + TypeScript(类型安全、组件化开发)。
  • UI组件
    :Element Plus(企业级组件库,支持暗黑模式)。
  • 状态管理
    :Pinia(替代Vuex,更简洁的响应式状态管理)。
  • 构建工具
    :Vite(极速启动与热更新)。

🚀 部署运维

  • 容器化
    :Docker + Docker Compose,支持一键部署开发/测试环境。
  • CI/CD
    :Github Action自动构建镜像并推送至私有仓库。
  • 监控告警
    :Prometheus + Grafana监控服务指标(如API响应时间、数据库连接数)。

四、竞品对比与差异化优势

维度 本系统 传统CMDB工具(如ServiceNow) 开源替代方案(如OpendTick)
功能完整性
资产+工单+权限+排班一体化
单一CMDB功能
仅工单或权限模块
技术架构
Go+Vue3高性能组合,支持高并发
传统Java栈,资源消耗高
技术栈较老旧
扩展性
模型驱动设计,支持自定义字段和流程
固定模型,扩展需二次开发
插件机制有限
成本
完全开源,无授权费用
商业软件,按用户数收费
部分功能开源,高级版收费

五、总结与建议

推荐场景

  • 中大型企业:需要一体化运维平台,替代多个独立系统(如CMDB+Jira+Active Directory)。
  • 初创团队:低成本搭建运维管理体系,避免被商业软件锁定。

优化建议

  1. 排班集成
    :尽快完成排班模块与主系统的API对接,实现工单自动分配。
  2. 移动端支持
    :开发微信小程序或飞书应用,支持移动端工单处理和资产查询。
  3. AI增强
    :集成LLM实现工单自动分类、智能推荐解决方案。

开源价值
该项目通过模块化设计和完善的文档,降低了企业自建运维平台的门槛,尤其适合作为以下场景的基础框架:

  • 定制化IT服务管理(ITSM)
  • 智能运维(AIOps)数据中台
  • 行业垂直解决方案(如金融、医疗的合规运维平台)


图片


企业级 CMDB + 工单一体化平台 开源!

源代码

https://www.gitpp.com/feature/project-dpqq-itcmdb


本篇文章来源于微信公众号: GitHubFun网站

© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容