1. OneCMDB概述
OneCMDB是一个用于数据中心的配置管理库,用于存储硬件、软件、服务、用户、事件、问题、变更请求、文档等信息。OneCMDB遵从IT管理的最佳实现ITIL。OneCMDB可以直接使用,也可以开发自己的应用扩展OneCMDB功能,比如开发自己的用户界面、添加/修改业务逻辑、修改系统内部接口等。但是有一点要注意到是OneCMDB遵循的是GPL协议。
OneCMDB主要包括两个部分:
l OneCMDB Core
l OneCMDB Desktop
OneCMDB Core是一个后台服务器,实现业务逻辑和存在功能,OneCMDB Desktop为OneCMDB Core提供一个基于web的用户界面。
2. Configuration Items(CI)
2.1. 内部属性
内部属性是CI固有的属性,存储的CI信息通常在CI创建的时候设置,以后很少修改。
1. Id属性由CMDB分配,不可改变,是CI的唯一标识。
2. Alias属性用于CI导入导出或者在菜单显示时,不同CI实例相互区别,Alias属性不能包含特殊字符和空格
3. Displayname属性用于CI在用户界面的简短文本显示,可以包含变量和空格
4. Description属性用于CI的长文本显示
5. Template Option属性用于设置模版
6. Icon属性保存CI在图形界面显示时选用的图片
2.2. 用户自定义属性
为了在CI中存储用户数据,首先应该在CI中添加用户自己定义的属性。用户需要什么属性完全取决于你需要在CMDB中 什么信息。下面是一个描述Server CI的简单例子:
2.3. 属性值类型
当你创建属性的时候必须设定属性值的类型,属性值包含两种类型:
简单类型和复合类型
简单类型指原始数据类型,如string、integer等
复合类型指另外一个CI的引用,用于描述与别的CI间的关系。
2.4. 属性值列表
简单类型和复合类型都可以是属性值类表。对于CI实例来说一个叫"Ip_addresses"的属性可以包含一组string值,一个叫"Harddisks"的属性,可以包含一组到硬件CI的引用。
3. 引用
引用是到另一个CI的指针,使用引用有如下好处:
1. 如果同一份数据被许多CI持有,那么很难维护该数据。然而我们可以将该数据放入一个CI中,让其他CI都持有该拥有数据的CI,这样如果要修改该数据,在ONECMDB中只需要更新一个CI。
2. 如果你想知道有哪些CI依赖某个特定CI,可以通过引用实现。假设你要关闭一个网络交换机,如何知道哪些服务器会受影响?让交换机CI持有所有他连接的服务器CI,那么通过ONECMDB的图形界面可以自动列出所有依赖于该交换机的服务。
3. 引用有助于发现数据中心的错误配置。假设一个外网IP只能分配给一个服务器。在每IP CI项中存储一个一个不同的IP地址,每个服务器CI持有自己使用的IP地址对应的IP CI。通过计算每个IP CI项的引用数量,ONECMDB可以自动发现被多台服务器使用的IP地址。
4. ONECMDB可以处理多种不同的引用,如Installed On或者Depends On。引用的类型在OneCMDB模型文件中定义并在模版中描述。你可以定义自己的引用类型,这样做有如下好处:
Ø 影响分析,起作用的典型情况如处理变更请求或者处理主动事件。比如要区分“这个系统对提供服务是必须的”和“这个子系统对提供服务是有用的”。
Ø 过滤依赖关系,如果你试着图像化一组CI的依赖关系,你会发现由于CI关系的复杂性视图很难描述得清。这时你可以选择只描述CI间的某一种关系比如硬件依赖关系,这样视图会变得更简单易于理解。
4. 策略
OneCMDB中策略用于控制CI如何处理变更。有三种默认策略:
CI策略
属性策略
事件策略
策略触发器用于提交对指定CI的定义策略,显然你必须重启ONECMDB才能使策略变化生效,仅仅提交是不够的。
注意:现在不支持通过Desktop定义或者修改策略,如果要修改策略必须通过System View编辑每个对象。
4.1. CI策略
控制CI的更新规则,更新指创建、删除、添加属性等
4.2. 属性策略
控制属性的更新规则
4.3. 事件策略
用户自己开发策略,意味着一个java类中的方法会被调用。通过事件策略用户有足够的自由做自己想做的。
4.4. 策略触发器
用于建立各种策略(CI策略、属性策略、时间策略)与指定的CI模版之间的连接,策略可以用于模版及实例且可以被其子模版及实例继承。
在现在OneCMDB版本中,策略触发器只能被分配给模版不能分配给实例,这将在以后的版本中修正。
5. 任务和触发器
任务是OneCMDB为完成各种任务调用的内部实现。任务以CI中存储的数据作为输入参数,输出参数则反馈到新的或已经存在数据库中的CI中。
任务在OneCMDB的模型文件中定义,一个任务是否可以用取决于使用的是哪个数据模版,任务可以手工触发执行也可以计划执行。
6. 变更日志
OneCMDB会自动记录对每个CI的每次单独变更并保存在变更日志中。每个变更会被分配一个唯一的请求变更ID(Request for Change ID),当OneCMDB中的多个变更同时执行时,它们会被分配一个事务ID(TX-ID)。
7. 模板
模版是其他CI创建的蓝图
使用模版有如下好处:
1. 创建新的CI更简单,简单是因为不需要每次从头开始创建CI并添加属性。
2. 批量更新一组属性更方便,模版与基于其上创建的CI之间存在内部关联。比如,当你添加一个新的属性到模版,属性也会被添加到所有已经存在的基于该模版的CI实例,你可以用它来约束某一组基于同一模版的CI实例。
7.1. 继承
继承指当CI实例创建时模版中的属性可以被复制到一个基于该模版的新CI实例,同时对模版进行的修改,也将影响到所有基于该模版的CI实例,如前面提到的这种情况是通过配置策略控制的。
以下是使用继承的的几个规则:
1. 一个CI可以且只能继承自一个模版
2. 一个模版可以继承自其它模版
请注意在用户手册和图形界面提到继承时,不同的词语表达,有时用based on,有时用descendant或者offspring。
8. 模型
8.1. 模型概念
OneCMDB使用模型来定义CMDB的结构。每个模型都由几个部分组成,模版定义、引用、CI实例等。你可以一次导入一个或多个模版,这取决于用OneCMDB来做什么及OneCMDB包含什么内容。你可以导入带有更多新的CI实例、新结构或者新功能的模型,也导出现有模型作为备份或者重用。
OneCMDB自带多个具有系统关联信息和系统配置信息的模型,这些模型通常自动导入,用户不用关心。只有打算扩展OneCMDB的功能或者创建一个使用OneCMDB的应用程序,才可能用得上这些模型。
8.2. 模型文件
模型文件存储在xml文件中,可以使用任何文本编辑工具进行编辑。当然也可以用OneCMDB Desktop来管理模型文件。一个OneCMDB模型由一个或者几个模型文件描述,比如一个模型文件来描述模版,另一个模型文件描述CI实例。
8.3. 模型选择
OneCMDB现在的发行版本带有一个基本模型,可以用作学习CMDB项目的开始,一个NMAP模型可以配合NMAP自动发现系统的开发,一个Nagios模型可以配合Nagios监控系统的开发
分享到:
相关推荐
OneCMDB(全称为“Open-source Configuration Management Database”,开源配置管理数据库)是一款强大的IT资源管理系统,主要用于企业级的IT服务管理。它通过收集、整合和管理各种IT资源的信息,为IT服务提供统一的...
【标题】"onecmdb 转 maven 项目"涉及到的是将一个现有的onecmdb项目转换成基于Maven构建的工程。这个过程是软件开发中的常见操作,尤其是在Java环境中,Maven作为项目管理和构建工具,能有效地管理依赖、构建工件...
如果想深入了解OneCMDB,建议直接阅读提供的博客链接,或者查阅官方文档和其他相关资料,获取最准确的信息。同时,通过下载压缩包文件OneCMDB,可以亲自实践安装、配置和使用,进一步加深理解。
OneCMDB,全称为Open Network Configuration and Management Database,是一个开源的配置管理数据库系统,主要用于IT服务管理和运维自动化。本文档将深入介绍OneCMDB的基本概念、功能特性、操作流程以及如何利用它来...
《OneCMDB用户手册》是针对OneCMDB这一配置管理数据库系统的一份详细指南,旨在帮助用户理解和使用该工具。OneCMDB,全称为“Open eCMDB”,是一款开源的企业级配置管理数据库,用于集中存储和管理组织内部的各种IT...
OneCmdb是一款强大的配置管理数据库(CMDB)系统,它为IT运维提供了全面的资产管理和信息整合能力。在深入学习OneCmdb的过程中,我们能够掌握以下几个核心知识点: 1. **CMDB概念**:CMDB是Configuration ...
OneCMDB是一个面向IT服务管理的专业配置管理数据库(CMDB),它是开源的,这意味着任何人都可以免费获取、使用、修改和分发其源代码。这个系统的设计目的是为了帮助IT部门更好地管理和理解他们的基础设施,包括硬件...
OneCMDB是在GPL版本2下发布的开源CMDB,配置管理数据库。其主页是: : 这些项目和Maven脚本 由冯子健(Konca Fung)制造,旨在研究和 由OneCMDB安装文件夹中包含的源代码包制成。 请参阅此博客以获取有关如何编译...
OneCMDB作为一种先进的CMDB解决方案,不仅能够作为独立的配置管理工具,还能够通过其开放的API与其他服务管理软件集成,实现更高效、灵活的配置管理和资产跟踪。 #### 二、关键概念 ##### 1. 配置项 (CI) - **...