CMDB
CMDB 简介
CMDB 平台又叫 IT 资产配置管理中心,是运维过程中对物理资源、虚拟资源、标签、物理位置等进行统一管理,为监控、自动化等场景提供可靠的资源对象和数据支持。
CMDB 提供手动录入功能并可批量录入,将资源信息进行标准化处理和整合,准确地维护资源信息及资源间的关联关系,并记录资源信息的变化过程及实时生命状态。遵循灵活、可扩展、开放性的原则,平台预置部分资源模型,支持自定义资源模型,开放数据字典的设计和编排能力给用户,并对外提供 API 接口,为其他平台提供基础数据。
当前 CMDB 提供的主要服务包括:
-
支持计算、存储、网络设备等物理资源基础设施的管理,实时抓取服务器状态,跟踪资源全生命周期。
-
支持模型管理,支持用户自定义模型扩展。
-
为告警平台、资源编排纳管、配置管理提供基础数据。
-
支持机房机柜全生命周期管理。
-
拉通监控、流程、智能分析平台数据,实现运维数据一体化消费场景,提高运维效率。
基础概念
CMDB(Configuration Management Database)是一种用于管理和维护信息技术(IT)基础设施配置项(CI,Configuration Item)的数据库。CMDB 旨在追踪和记录与 IT 环境相关的配置项及其关系,为 IT 管理、配置管理和服务管理提供支持
- 模型
模型是对某种实体或概念的抽象,它描述了实体的结构、属性和关系。在配置管理中,模型可以是一个高级别的概念,用于定义配置项的通用特征和属性。
- CI 类型
配置项可以根据其性质和用途分为不同的类型,如硬件配置项(服务器、路由器)、软件配置项(应用程序、操作系统)、文档配置项等。每个 CI 类型可能具有特定的属性和关系。
- 配置项(CI)
配置项是 CMDB 中的基本单位,表示 IT 环境中的任何可管理的元素,如硬件、软件、文档、网络设备等。每个配置项都有唯一的标识符,并且可以包含与其相关的属性和关系。
如所有的物理机都属于同一类型,但每个物理机实例都是一个具体的 CI。CI Type 的定义可能包括一组通用属性,而具体的 CI 则包含每个实例的具体属性。
- 关系
关系描述了配置项之间的连接或依赖关系。
如服务器与数据库之间可以有一个安装关系,表示它们之间的依赖关系。关系有助于了解 IT 环境中不同配置项之间的交互和影响。
- 自动发现
自动发现是指使用工具和技术来自动收集和更新配置项信息,而无需手动输入。自动发现可以帮助确保 CMDB 中的信息始终保持最新和准确。
- ITIL
CMDB 是 ITIL(IT Infrastructure Library) 框架中的一个关键组件,提供了支持 IT 服务管理(ITSM)和配置管理的工具和流程。
设计
要实现一个尽可能通用、灵活、可扩展的运维资源数据的配置和管理系统,系统必须要满足:
- 运维人员能根据企业的运维场景和需求,自己去构建存储的数据模型,以及模型之间的关系
- 提供丰富的 API,尤其是在数据和关系检索要做到通用,便于二次开发
- 用户可以方便的订阅自己关心的数据,有丰富的图表展示
- 数据的自动发现和细粒度的权限控制
可参考项目
- NetBox
https://github.com/netbox-community/netbox
NetBox 是一个 IP 地址管理(IP address management,IPAM)和数据中心基础设施管理(data center infrastructure management,DCIM)工具。最初起源于 DigitalOcean 的网络工程团队,专门用于满足网络和基础设施工程师的需求。它是一个基础设施资源建模 (IRM) 应用程序,旨在支持网络自动化。
- Spug
https://github.com/openspug/spug
开源运维平台:面向中小型企业设计的轻量级无Agent的自动化运维平台,整合了主机管理、主机批量执行、主机在线终端、文件在线上传下载、应用发布部署、在线任务计划、配置中心、监控、报警等一系列功能。
- 蓝鲸
腾讯蓝鲸智云,简称蓝鲸,是腾讯互动娱乐事业群(Interactive Entertainment Group,简称 IEG)技术运营部自主研发的一套用于构建企业研发运营一体化的 PaaS 解决方案,提供了 aPaaS(DevOps 流水线、运行环境托管、前后台开发框架)和 iPaaS(持续集成、CMDB、作业平台、容器管理、计算平台、AI 等原子平台)等模块,帮助企业技术人员快速构建基础运营 PaaS。
蓝鲸智云配置平台(BlueKing CMDB) https://github.com/TencentBlueKing/bk-cmdb
- WeCMDB
https://github.com/WeBankPartners/we-cmdb
WeCMDB(Configuration Management Database 配置管理数据库),是源自微众银行运维管理实践的的一套配置管理数据库系统。CMDB,作为运维工具的核心,提供了全体系IT信息唯一数据源,是IT运维自动化、智能化的基础和前提条件。依赖可靠的CMDB,IT信息从物理层(数据中心、机架机位、服务器、网络信息等), 到逻辑层(IP、系统架构信息),到应用层(业务应用系统信息)被完整的记录并管理起来。
- 维易 CMDB
https://veops.cn/docs/docs/cmdb/cmdb_design
其他
Nacos 实现异地 CMDB:https://nacos.io/en-us/blog/cmdb.html