💡前言
在企业 IT 资源管理中,CMDB(配置管理数据库)扮演着“资产大脑”的角色。而构建一个高效、灵活的 CMDB 系统,模型设计是第一步,也是最关键的一步。
本文将以 腾讯开源的蓝鲸 CMDB(BK-CMDB) 为例,手把手教你:
- 如何创建自定义实体模型(Model)
- 如何添加字段(Field)
- 如何设置字段类型、校验规则等高级属性
- 最佳实践与注意事项
🧱一、蓝鲸 CMDB 的核心概念回顾
在开始操作前,我们先快速回顾一下蓝鲸 CMDB 的核心架构层级:
模型分类(Classification)
└── 模型(Model)
└── 实体(Instance)
- 模型分类:用于对模型进行归类,如“基础设施”、“业务系统”。
- 模型(Model):定义了某一类资源的结构,例如“服务器”、“交换机”。
- 实体(Instance):是对模型的具体实例化,比如一台 IP 为
192.168.1.10的服务器。
📌 本篇文章的重点是「模型」与「字段」的设计与创建。
🛠️二、创建模型(Model)
步骤 1:进入模型管理界面
登录蓝鲸 CMDB 后,在左侧菜单选择:
配置平台 > 模型管理
你可以看到已有的默认模型,如主机(Host)、模块(Module)等。
步骤 2:新建模型分类(可选)
点击「模型分类」标签页,点击「新增」按钮,输入分类名称,如:
- 分类名称:
网络设备 - 分类标识:
network_device
✅ 建议:合理划分分类有助于后期管理和权限控制。
步骤 3:创建新模型
回到「模型管理」页面,点击「新增」按钮,填写如下信息:
| 字段 | 示例值 |
|---|---|
| 模型名称 | 交换机 |
| 模型标识 | switch |
| 所属分类 | 网络设备 |
| 是否启用 | 是 |
点击「提交」即可完成模型创建。
🔧三、添加字段(Field)
字段是模型的核心组成部分,决定了实体能记录哪些信息。
步骤 1:进入字段管理
在模型列表中找到刚刚创建的「交换机」模型,点击右侧「字段管理」。
步骤 2:新增字段
点击「新增字段」按钮,填写如下信息:
示例字段 1:IP地址
| 属性 | 值 |
|---|---|
| 字段名 | IP 地址 |
| 英文标识 | ip_address |
| 字段类型 | 单行文本 |
| 必填项 | 是 |
| 描述 | 交换机的管理 IP 地址 |
示例字段 2:端口数量
| 属性 | 值 |
|---|---|
| 字段名 | 端口数量 |
| 英文标识 | port_count |
| 字段类型 | 整数 |
| 默认值 | 24 |
| 描述 | 交换机支持的端口总数 |
示例字段 3:所属机房
| 属性 | 值 |
|---|---|
| 字段名 | 所属机房 |
| 英文标识 | datacenter |
| 字段类型 | 枚举 |
| 枚举选项 | 上海电信, 北京联通, 广州移动 |
| 描述 | 该交换机所在的物理位置 |
⚠️ 重点提示:字段设计直接影响后续的数据查询、展示和自动化流程,务必根据实际业务需求合理规划。
📌四、字段类型详解(支持的常见类型)
| 类型 | 说明 | 使用场景示例 |
|---|---|---|
| 单行文本 | 输入一段字符串 | 主机名、IP 地址 |
| 多行文本 | 支持换行的文本输入 | 备注、描述信息 |
| 整数 / 浮点数 | 数字类型 | CPU 核数、内存大小 |
| 枚举 | 下拉选择多个固定值 | 所属区域、状态 |
| 日期 / 时间 | 选择日期或时间 | 创建时间、过保日期 |
| 外键引用 | 引用其他模型的实体 | 关联集群、管理员 |
| 布尔值 | 开关类型 | 是否启用、是否高可用 |
✨ 亮点功能:外键引用实现资源拓扑
通过外键字段,可以将不同模型之间的实体关联起来,形成完整的 IT 资源拓扑图,便于可视化展示和依赖分析。
📈五、创建实体并录入数据
完成模型和字段创建后,就可以开始录入具体的数据了。
步骤 1:进入实体管理页面
在模型详情页点击「实体管理」。
步骤 2:新增实体
点击「新增」按钮,填写如下信息:
| 字段名 | 值 |
|---|---|
| IP 地址 | 192.168.10.1 |
| 端口数量 | 48 |
| 所属机房 | 上海电信 |
点击「保存」即可完成实体创建。
📊六、查看实体与字段效果
你可以在「实体管理」页面查看所有已创建的实体,并导出 Excel 进行批量处理。
此外,还可以在「拓扑视图」中查看与其他模型的关联关系。
🎨 推荐:使用蓝鲸 CMDB 的图形化拓扑功能
图形化展示不仅美观,还能帮助你更直观地理解整个 IT 架构。
🧪七、API 接口自动化管理实体(进阶)
如果你希望程序化管理实体,蓝鲸 CMDB 提供了丰富的 RESTful API 接口,例如:
- 创建实体:
POST /api/v3/create/manyobjects/{bk_obj_id} - 查询实体:
POST /api/v3/search/manyobjects/{bk_obj_id} - 修改实体:
PUT /api/v3/update/manyobjects/{bk_obj_id}
你可以使用 Python、Shell 或任意编程语言调用这些接口,实现自动化资产同步、定时任务等功能。
📝八、最佳实践建议
| 建议内容 | 说明 |
|---|---|
| 统一命名规范 | 如 switch_01, server_web_01 |
| 字段分组管理 | 将相关字段归类,提升可读性 |
| 定期清理无效实体 | 避免数据冗余 |
| 权限控制与审计 | 对敏感字段设置访问权限 |
| 使用模板导入实体数据 | 利用 Excel 导入提高效率 |
📚九、推荐阅读资料
- 蓝鲸 CMDB 官方文档
- 蓝鲸社区 GitHub 仓库
- 《DevOps 实践指南》——Gene Kim 等著
- 《CMDB 设计与实现实战》
🙋♂️十、结语
掌握蓝鲸 CMDB 的模型与字段创建能力,是你迈向企业级 CMDB 建设的第一步。从建模、字段设计到实体录入,每一步都决定了你的 CMDB 是否具备扩展性和实用性。
希望这篇文章能帮助你在 CSDN 社区中分享知识、交流经验,也欢迎留言讨论更多 CMDB 实战技巧!
📌 关注我,获取更多蓝鲸平台、DevOps 和自动化运维干货内容!
如有需要,我可以继续为你撰写系列文章,如:
- 《蓝鲸 CMDB 实体关系建模实战》
- 《如何通过 API 自动化管理蓝鲸 CMDB 实体?》
- 《蓝鲸 CMDB 与 Ansible 的集成实战》
欢迎留言交流~ 😊

1万+

被折叠的 条评论
为什么被折叠?



