Linux学习总结(63)——CMDB 详细介绍:概念、架构、模型、表设计及开源选择
一、cmdb是什么?
》》百度百科
配置管理数据库( Configuration Management Database,CMDB)是一个逻辑数据库,包含了配置项全生命周期的信息以及配置项之间的关系(包括物理关系、实时通信关系、非实时通信关系和依赖关系)。
CMDB存储与管理企业IT架构中设备的各种配置信息,它与所有服务支持和服务交付流程都紧密相联,支持这些流程的运转、发挥配置信息的价值,同时依赖于相关流程保证数据的准确性。
在实际的项目中,CMDB常常被认为是构建其它ITIL(Information Technology Infrastructure Library,IT基础架构库)流程的基础而优先考虑,ITIL项目的成败与是否成功建立CMDB有非常大的关系。 70%~80%的IT相关问题与环境的变更有着直接的关系。
实施变更管理的难点和重点并不是工具,而是流程。即通过一个自动化的、可重复的流程管理变更,使得当变更发生的时候,有一个标准化的流程去执行,能够预测到这个变更对整个系统管理产生的影响,并对这些影响进行评估和控制。而变更管理流程自动化的实现关键就是CMDB。
》》个人理解
CMDB本质是一个存储IT基础信息的数据库,目的是为了将内部所有IT资源管理起来,建立一套高质量的IT资源配置主数据。我们可以基于CMDB建设来一步一步实现自动化运维。
二、cmdb架构
CMDB架构分基础资源层架构和应用资源层架构。应用层资源架构把相关的资源以应用为中心实现资源整合。资源及其资源的关系称之为拓扑(应用拓扑、物理拓扑),资源管理方式有人工维护和自动发现两种方式,流程是人工维护的一种复杂场景和手段。
1、基础CMDB建设五原则
1)面向IaaS和PaaS设计,能够管理底层的一切资源。
2)状态控制借助运维流程自动化完成。
3)CI的维护要深度使用自动发现,而不是人工维护。
4)资源信息必须能为上层应用提供服务。
5)必须满足基础资源的CI管理需要。
2、应用CMDB建设七原则
1)提供统一的应用元数据管理能力,和应用类型无关。
2)核心诉求是应用生命周期管理。
3)以应用为中心,而非基础资源为中心。
4)从应用资源的角度构建起与IT资源的弹性关系。
5)为应用资源、动作、状态的统一管理提供支撑。
6)以统一的基础资源层CMDB作为基础。
7)核心场景就是持续交付。
三、CMDB模型设计
模型设计是CMDB建设的重要环节,是CMDB的骨架。它是一个抽象建模的过程,并且应该基于企业IT资源现状以及消费诉求而进行抽象。具体过程如下:
1)环境调研:对企业的组织架构、IT资源类型和规模、IT流程等进行调研,充分了解企业IT资源的现状。
2)模型设计:根据调研的情况进行设计,内容包含模型的对象、模型的属性、模型的关系,这些我们称之为元数据。在构建元数据的过程中,我们遵循以下原则:
- 以应用为中心原则,围绕应用自上而下的进行详细设计;
- 最小化设计原则,即只实现当前运维场景所需要的最小模型集合,避免建模的颗粒度失去控制(强调没有消费场景的对象/属性/关系,不应该存储);
3)模型评审:模型设计好后,需形成规范文档。以便和领导、各个领域的运维管理员进行最终沟通评审,目的是形成一份大家都认可的模型设计,为后续CMDB推行打下基础。
4)模型建立:模型设计评审通过后,我们就可以在CMDB工具中进行建模。因此,CMDB的工具必须具备足够的灵活性,能够根据企业不同的环境灵活定义模型对象、属性及关系。
四、CMDB表结构设计
1、资产总表
2、服务器表
3、网络设备表
4、应用表
5、cpu表
6、内存表
7、硬盘表
8、网卡表
9、raid表
10、厂商表
11、业务线表
12、合同表
13、机房表
14、标识表
15、资产状态表
16、资产上线审批表
五、目前的开源CMDB有哪些
目前主流的开源CMDB软件包括: OneCMDB、CMDBuild、 ltopCMDB、Rapid OSS、ECDB、 i-doit等 ,其中比较出名的是前二者,当然腾讯蓝鲸CMDB也开源了,后面抽空测试一下吧。。
1、OneCMDB
OneCMDB主要面向的是中小型企业。可以作为一个独立的CMDB来保持软件和硬件资产及其相互关系的轨道。由于其具有开放的API ,因此其也可以是拥有灵活的强大的配置管理引擎的其他服务管理软件。
OneCMDB易于安装和填充数据,它有一个无需用户具有编程能力就能改变和增强的数据模型,它能让用户轻松做到如下几点:
1)创建CMDB数据模型,而无需写代码。
2)填充数据,可以通过网络自动发现。
3)通过各种灵活的导入和转换机制来从外部源获取信息。
4)导入/导出网络配置信息从/到Nagios网络监控系统。
>>OneCMDB也有如下一些缺点:
1)纯英文操作界面,增加了误操作率。
2)只支持从Nagios系统自动发现导入。
3)现在该产品基本无人维护。
4)UI可定制化低。
2、CMDBuildS
CMDBuild是一个通过Web界面配置的CMDB系统。可以通过Web界面来进行建模、创建资产数据库,并处理相关的工作流程。
CMDBuild可用于集中管理数据库模块和外部应用:自动库存、文档管理、文本处理、目录服务、电子邮件、监控系统、用户网站、其他信息系统等。
CMDBuild应该是使用者比较多的一款产品,它具有如下优点:
1)Ajax操作十分便捷(采用了ExtJS作为支持)。
2)数据格式自由定制(在GLPI中,资产的数据格式都已经定义好了,用户很难再做修改 )。
3)支持多种开源标准( XPDL)。
4)可以自定义Workflow ,便于ITIL。
5)有专门的团队在不断进行维护
6)SOAP和RES T的WebService接口。
3、RapidOSS(基于RapidCMDB技术)
一种实用的解决方案。它不与传统的CMDB产品竞争。它从头开始设计为联合解决方案(而不是事后的想法),以便轻松利用现有系统和数据源。RapidOSS是一个用于IT运营管理的集成,自动化和演示套件。它将领先的Web技术引入IT管理领域,从一开始就设计为一个开放式解决方案,以最大限度地缩短实施时间和总体拥有成本,并最大限度地提高技能重用率。
4、i-doit
基于ITIL指南的IT文档系统。它记录了IT系统及其变更,定义了应急计划,显示了重要信息,并有助于确保IT网络的稳定和高效运行。i-doit允许以结构化方式从墙壁插座向主机提交大量技术信息。每个员工都可以通过Web浏览器轻松(并以选择的方式)访问此信息。由于其模块化架构,可以部署功能附加组件或开发扩展。
Linux学习总结(63)——CMDB 详细介绍:概念、架构、模型、表设计及开源选择相关推荐
- 外部表不是预期的格式_超详细的CMDB介绍--概念、架构、模型、表设计及开源选择...
概述 今天主要介绍一下CMDB的一些基础内容,感兴趣的朋友可以看看~ 一.cmdb是什么? >>百度百科 配置管理数据库( Configuration Management Databas ...
- Linux 学习笔记之超详细基础linux命令 Part 3
Linux学习笔记之超详细基础linux命令 by:授客 QQ:1033553122 ---------------------------------接Part 2----------------- ...
- linux中各目录及详细介绍
linux中各目录及详细介绍 一.Linux文件系统的层次结构 在Linux或UNIX操作系统中,所有的文件和目录都被组织成一个以根节点开始的倒置的树状结构,如图: 二.目录 1.目录的定义 目录相当 ...
- linux中的chmod命令详细介绍、使用及实例
linux中的chmod命令详细介绍.使用及实例 chmod命令 chmod用于改变 linux 系统文件或目录的访问权限,可以用它控制文件或目录的访问权限.该命令有两种用法:一种是包含字母的文字设定 ...
- linux awk 内置函数详细介绍(实例)
原文地址为: linux awk 内置函数详细介绍(实例) 这节详细介绍awk内置函数,主要分以下3种类似:算数函数.字符串函数.其它一般函数.时间函数 一.算术函数: 以下算术函数执行与 C 语言中 ...
- linux 查看u盘文件,详细介绍Linux系统下检测U盘是不是已经连接的方法
Linux操作系统是基于Unix操作系统发展而来的一种克隆系统,它诞生于1991年的10月5日(这是第一次正式向外公布的时间).今天就跟着小编一起来看一看:详细介绍linux系统下检测U盘是不是已经连 ...
- 深度学习中Attention Mechanism详细介绍:原理、分类及应用
Attention是一种用于提升基于RNN(LSTM或GRU)的Encoder + Decoder模型的效果的的机制(Mechanism),一般称为Attention Mechanism.Attent ...
- 数据库设计三范式详细介绍--数据库设计规范之数据库设计三范式
为什么需要数据库设计 1. 我们在设计数据表的时候要考虑很多问题问题,比如: 用户都需要什么数据?需要在数据表中保存哪些数据? 如果保证数据表中数据的正确性,当插入.删除.更新的时候该进行怎么样的约束 ...
- 详细介绍什么是卡片式设计用户界面
作者:Nick Babich 日期:2016/10/11 原文链接:https://www.smashingmagazine.com/2016/10/designing-card-based-user ...
最新文章
- SubVersion(SVN) 服务器Windows安装指南
- 抢领英饭碗?Facebook测试简历功能
- 真香!你的 2019 年终总结已经出 - 请查收
- 用C#快速往Excel写数据
- python怎么调用列表_Python中列表的使用
- matlab编程数字信号,MATLAB--数字信号实验.doc
- 吉他谱----see you again
- 2021中国数字服务大会 | 阿里云混合云新一代运维演进与实践
- awk教程入门与实例练习(三)
- 中山大学计算机线性代数第六版答案,中山大学2013线性代数第二次作业
- 【处理手记】VS2010SP1安装不上Visual Studio 2010 SP1 SDK的解决办法
- 2022年G2电站锅炉司炉报名考试及G2电站锅炉司炉考试技巧
- 2021高考成绩查询单科,2021年全国高考总分及各科分数
- Shell 千分 逗号隔开
- Django 模型继承以及 model related_name 使用
- 关于ffmpeg如何下载、安装和使用
- 阿里云备案流程和操作步骤详解(图文教程)
- 思考与总结:对佣金系统的思考
- Python爬虫入门(一)火车票余票实时提醒
- BIM计算-属于自己的减肥小程序
热门文章
- 20个使用手写字体的创意网站作品欣赏
- 防火墙Little Snitch的BUG导致Mac系统受到攻击
- 分立部署Ueransim和5GCN_v1.5.0原理及实现
- 将x的平方赋值给y (5分)
- 不同种类线扫光源的特性
- mysql中unsigned怎么用_MySQL数据类型:使用unsigned得注意事项
- MLops和infra
- php多维数组删除数据,php如何删除多维数组
- PuTTY的下载安装和基本使用方法教程
- Python xlrd 读取 Excel 表格基础(一):获取sheet、行、列对象,读取数据类型等