跳到主要内容

设计 CMDB 资产管理系统

需求分析

CMDB(Configuration Management Database)是运维平台的核心,管理所有 IT 资产及其关系。

核心功能

  • 资产录入与发现(服务器、网络设备、中间件、应用)
  • 资产关系管理(拓扑图)
  • 变更追踪与审计
  • API 供其他系统调用(监控、发布、工单)

数据模型

架构设计

关键设计点

灵活的模型定义

使用模型驱动设计,资产类型和属性可动态配置:

  • CI Type(配置项类型):服务器、数据库、应用、网络设备
  • CI Attribute(属性定义):每个类型有不同的属性字段
  • CI Instance(实例):具体的资产,存储为 JSON 灵活扩展

自动发现

# Agent 定期上报(安装在每台服务器)
# 采集:IP、CPU、内存、磁盘、操作系统、运行进程
# 上报频率:增量 5 分钟,全量 1 小时

变更审计

每次资产变更记录 diff,谁在什么时间改了什么字段,支持按时间线回溯。


常见面试问题

Q1: CMDB 数据不准确怎么办?

答案

CMDB 最大的挑战是数据准确性。解决方案:

  1. 自动发现优先:Agent 采集 + 云 API 同步,减少人工录入
  2. 周期性校验:自动比对 CMDB 数据与实际资产,标记不一致项
  3. 变更源头管控:所有变更必须通过 CMDB API(发布系统、工单系统調用 CMDB),禁止绕过
  4. 责任人机制:每个资产有明确责任人,定期确认

相关链接