基础概念
1.什么是CMDB
CMDB——配置管理数据库,通过识别、控制、维护,检查企业的IT资源,从而高效控制与管理不断变化的IT基础架构与IT服务,并为其它流程,例如事故管理、问题管理、变更管理、发布管理等流程提供准确的配置信息。
2.CMDB的作用
数量庞大、品种繁多的 IT 设备及以这些IT设备为基础的各种服务很难被有效的管理。同时,企业的IT环境在不断变化,如何评估某个设备或服务发生的事故或变更所造成的影响,以及如何为其它流程提供IT资源当前准确的配置信息都是企业面临的重大挑战。
CMDB正是为了解决以下这些问题而诞生的:
- 信息整合:如何将众多IT设备、IT服务、甚至使用它们的部门与人员整合在一个完整的库中?这样整合的信息将使有效与高效的管理IT设备与服务成为可能。可自动发现各种主机、网络设备、应用。同时支持全网发现、指定子网、指定配置项三种发现方式。
- 关系映射:如何将硬件、软件以及IT服务之间的物理和逻辑关系映射可视化?使得IT人员可以看到其互相之间的依赖关系,并确定该IT组件对客户带来的潜在影响。若IT人员可以实时看到其对公司或客户业务的影响,将大大有助于提高IT服务水平。使用拓扑图形式,可视化展示IT资源、部门、人员之间的关联关系,并且可通过在拓扑图上直接拖拽,实现关联关系的定义与维护。CMDB不仅仅存储IT资源的属性与关联关系,还自动关联IT资源与其发生过事故、问题、变更、发布。
- 流程支持:如何为其它IT运维流程提供准确的IT设备、IT服务的配置信息(包括当前设备或服务发生过的事故、问题、变更、发布等信息),对事故管理、问题管理、变更管理、发布管理来说,准确的配置信息将极大的提高流程的运作效率。在事故、问题、变更、发布流程中,均可以快速查看当前流程涉及到的IT资源的全面、准确的信息。
- 软件库与硬件库:如何保证应用到IT环境的软件与硬件均是经过授权与测试的?这是保证IT环境质量与提供稳定IT服务的前提条件。通过支持DSL(Definitive Software Library,最终软件库)与DHS(Definitive Hardware Store,最终硬件库),保证在发布管理中使用的软件与硬件均是通过授权与测试的。
市场环境
商用 CMDB 产品
特点:功能完整、稳定,但闭源、价格昂贵、二次开发难度大。
- BMC:Atrium CMDB(Remedy),CMDB 标准的缔造者之一,各方面均已经非常成熟,相关技术文档和帮助手册相当丰富和完善,因内很多公司在开发自己的 CMDB 产品时,都是以 BMC 的技术文档作为参考依据。
- HP:UCMDB(openview),是一个较为成熟和使用范围较广的 CMDB 产品,臃肿庞大,功能丰富。
- CA:Unicenter
- IBM:CCMDB(Tivoli)
开源 CMDB 产品
特点:开源、免费,但通常只实现了 CI、关系、属性三要素的模型构建,其他诸如自动发现、关系可视化、数据安全和完整性保护方面则相对欠缺。
- oneCMDB,最早的开源 CMDB 产品之一,java 开发,近两年开发停滞,已无更新。
- itop CMDB,PHP 开发,适用于中小企业,文档丰富,数据库依赖 mySQL。
- CMDBuild,java 开发,开发活跃,文档丰富,数据库依赖 postgreSQL。
总结
个人认为当前可行的开发方案是:从 CMDBuild(java) 或 iTop(PHP) 中的选取一种为基础,参考 BMC 成熟的文档进行适度的二次开发。