CMDB专家实践谈:自动化运维的基石CMDB

CMDB是什么?

运维百花齐放繁荣景象的同时,也让碎片化问题产生;每个人都想整合运维平台,但是往往事与愿违。

CMDB就像一个人的大脑核心,是一个信息协调库,其存储的资料是协调身体完成各种复杂运动的信息来源。

我心中的CMDB

.碎片整合

面向运维工具的碎片化场景,是盘活整个运维管理的数据核心

.元数据库

提供运维活动的基础元数据,是唯一可信的运维配置数据服务

.场景驱动

为运维联动提供数据驱动,可协调工具来完成各类自动化场景

自动扩容+自动监控

CMDB如何建设?

痛点现象与对策I模型建不好

存在的问题:

.建模粒度失去控制

粒度若建得太细,连网线、内存条都变成配置项,最后CMDB中存储的70%数据没有作用,只是做了大量无用功。

.缺少行业实践参考

国内很多时候都是根据BMC、HP等模型来建立一个模型库,但实际上老外的思路与国人迥异,往往会做出过于复杂的模型体系。

.模型调整太笨重

使用关系型数据库,模型中每一个类型的属性都是一个列,最后调整总是要动用研发,完成一次调整需要2天的时间,而这种调整在数据补充阶段,往往要经常进行,耗时耗力。

我们怎么干的管理

.目标驱动

持续迭代的方式推进,只实现当前目标需要的最小模型集合。建议不要使用传统软件研发大瀑布模式来建设模型,而是使用持续迭代的方式,每次都设定一下较小的目标,按这个目标去建立刚好满足要求的模型库。

.行业参考

寻找和借鉴行业最佳实践。寻找行业内的最佳实践,去学习他们的模型,尤其也是学习其演进路线,切不可一口吃成一个胖子。

我们怎么干的

技术

第一步,数据类型标签化,支持多重身份

传统的CMDB系统,往往使用科学分类法的思路,按界、门、纲、目等树型结构去严格划分,但这样给建模带来了非常巨大的挑战,因为一定有一些数据四不像。比如虚拟机,到底是划到传统的计算设备资源下,还是划到虚拟资源下?所以我们提议使用数据类型标签化的方式来进行分类。比如虚拟机,我可以同时打上计算设备与虚拟资源这样两个标签。

第二步,使用关系建立联系,分清关系与属性

使用弱类型约束的关系,而不是属性。因为属性往往要提前建模,但实际上很多配置项在建立时,是想不清楚它可能与哪些配置项产生联系的,所以使用关系可以更轻量化。

第三步,易于调整模型,支持动态属性

在CMDB系统的技术设计过种中,要注重使用能快速调整的存储模型,比如使用支持scheme调整友好的数据库,或postgresql这样支持json扩展字段的数据库,可以实现动态属性。

痛点现象与对策II数据不准确

存在的问题:

.人工录入数据、准确率低

.没有及时维护、数据过期

.数据来源多、存在冲突

我们怎么干的管理

.确定地位

确定CMDB作为唯一数据源,若上下数据流不准确,应从CMDB开始修正

.职权划定

自定原则,例如谁提供,谁维护

.定期审查

从制度上需要确定团队能定期对CMDB中的数据进行审计,寻找错误数据并改进问题。如同一些仓储管理,需要定期核查帐面与实际库存,CMDB也需要定期审查数据与生产环境的实际符合度。

我们怎么干的

技术

.支持协同

配置变更热点,订阅我关注的配置项变更。每个人都可以查看他人的数据足迹,配置项也允许按变更次数或者被使用次数,作成热点图,最后也应允许订阅我关心的配置项,这样可以在配置项变更时,相关负责人可以及时收到通知。

.记录历史

允许随时查询数据的变迁历史,并可回溯基线。在每一次数据入库后,都能记录数据的变更历史,以便可以随时对比版本变更的内容,以及在纠错时回溯基线。

.支持调和

利用策略、规则实现多数据源的调和。数据来源过多,也会导致出现数据冲突。在数据出现冲突时,能显示不同数据来源的冲突,并支持人为调和,同时CMDB系统也应学习这些人为的调和依据,可以形成自动化调和。

.依赖工具

在数据的采集和补充上,以使用监控与自动化工具为主,它们可以减少大量的录入工作,并且避免人为的错误。

痛点现象与对策III数据不好用

存在的问题:

.不清楚有哪些使用场景

经常有这样的情形:为了CMDB而CMDB,导致最后CMDB只是当资源台帐使用,最常使用的功能也仅仅变成了EXCEL导入与导出。而实际上,我们需要建设的是一个服务型的CMDB。

.系统开放性差

CMDB开放性差,往往只是提供了读写API,把CMDB当成一个普通的数据库来使用。

我们怎么干的管理

1.积极寻找场景,消费数据,让数据产生价值。

2.影响分析:使用消息盘,做配置变更演练,做故障演练。

3.自动监控:当新增一些配置项时,可以通知到监控系统,自动产生监测策略。

4.自动排障:在监测到故障时,可以自动排障。

5.容量管理:在配置库中为应用记录扩容收容阈值,以便自动伸缩扩容。

6.物联运维:CMDB中的数据,在现在的移动终端场景下,有特别好的消费场景,就是做二维码、RFID,并与手机结合,能在机房巡检与排障中产生很大的便利。

我们怎么干的技术

1.关系推导:提供从一个配置项按关系提炼其它配置项的能力。

2.全文检索:能便捷的使用关键字,搜索符合的配置项。

3.变更通知:配置项变更不但提供对人的通知,更要利用MQ,提供对运维工具的通知,以触发一些自动化场景。

4.事务控制:允许通过API建立沙箱,整个沙箱中的配置项是一起提交与一起回滚,这特别适用于应用的上线。

5.版本对比:允许查询一个配置项的历史数据与变更情况。

6.WEB集成:除了API,还应该提供应用间的界面集成还应该提供应用间的界面集成还应该提供应用间的界面集成。

CMDB

成功要素

能消费起来的CMDB才是好CMDB

模型:定义了最小可用的CMDB模型结构与规则

数据:正确地维护了CMDB各类数据及其关系

API:提供了开放友好的API服务

场景:利用CMDB的数据玩转各种运维场景

CMDB =模型+数据+ API +场景

▲作者蒋君伟

任职广通软件新一代敏捷运维品牌优云,旗下包含CMDB、监控中心、操作中心、流程中心、度量中心一体化的“一库四中心”敏捷运维产品线,同时支持在线服务与私有部署。

时间: 2024-10-01 12:48:46

CMDB专家实践谈:自动化运维的基石CMDB的相关文章

优云CMDB专家实践谈:自动化运维的基石CMDB

CMDB是什么? 运维百花齐放繁荣景象的同时,也让碎片化问题产生:每个人都想整合运维平台,但是往往事与愿违. CMDB就像一个人的大脑核心,是一个信息协调库,其存储的资料是协调身体完成各种复杂运动的信息来源. 我心中的CMDB .碎片整合 面向运维工具的碎片化场景,是盘活整个运维管理的数据核心 .元数据库 提供运维活动的基础元数据,是唯一可信的运维配置数据服务 .场景驱动 为运维联动提供数据驱动,可协调工具来完成各类自动化场景 自动扩容+自动监控 CMDB如何建设? 痛点现象与对策I模型建不好

浅谈自动化运维

关于这篇文章,源自于很久之前学习产品时的一个认知. 大家都知道"自动化运维"其实是一个很广泛的概念,其概念的不确定性在于"自动化",有争议的地方在于"自动化"到什么程度,才能称之为"自动化运维". 运维工程师: 运维工程师(Operations)在国内又称为运维开发工程师(Devops),在国外称为 SRE(Site Reliability Engineering).负责维护并确保整个服务的高可用性,同时不断优化系统架构.提升

MySQL数据库性能优化及自动化运维实践教程!DBA日常工作

MySQL数据库性能优化及自动化运维实践教程!本文作者将站在更加全面的角度分享他在这一年多 DBA 工作中的经验,希望可以给大家带来启发和帮助. DBA 的日常工作 我觉得 DBA 真的很忙,我们来看看 DBA 的具体工作:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用. 上面这些是我们 DBA 的功能,了解这些功能以后要对体系结构有更加深入的了解,你不知道怎么处理这些故障和投诉的事情. 所以我们要去了解缓存/线程.SQL 优化.存储引擎.SQL 审计以及锁与实务:体系结构更深一点,就去

全开源端到端自动化运维课程体系【运维必会】

l  自动化安装:物理服务器上架后,使用Cobbler实现操作系统的自动化安装. l  配置管理:操作系统安装完毕后,需要进行初始化并部署对应的服务,可以使用SaltStack进行操作系统层面的配置管理或者说叫状态管理. l  自动化监控:服务上线后,可以使用Zabbix这个企业级监控平台进行自动化的监控. l  持续交付:服务部署完毕之后,就需要部署代码,而Jenkins可以使用端到端的部署流水线. l  日志收集:在业务运行过程中,必然会存在日志.那么可以通过ELK进行自动化的日志收集.汇总

电子书 Python自动化运维:技术与最佳实践.pdf

本书在中国运维领域将有"划时代"的重要意义:一方面,这是国内一本从纵.深和实践角度探讨Python在运维领域应用的著作:一方面本书的作者是中国运维领域的"偶像级"人物,本书是他在天涯社区和腾讯近10年工作经验的结晶.因为作者实战经验丰富,所以能高屋建瓴.直指痛处,围绕Python自动化运维这个主题,不仅详细介绍了系统基础信息.服务监控.数据报表.系统安全等基础模块,而且深入讲解了自动化操作.系统管理.配置管理.集群管理及大数据应用等高级功能.重要的是,完整重现了4个

关于自动化运维的实践×××

谈起自动化运维,现在已经成为运维工作最热门的词语,关于运维自动化本人早在2012年就已经接触了BMC的ITSM系统,将ITIL运维管理体系和自动化运维工具的有效的结合大幅度的提高了运维工作效率.下图为HP提的统一运维自动化理念和运维手册,从目前企业基础架构层来看,运维人员无关乎关心的如下几个方面的自动化. 要了解运维自动化在企业当中应用场景和是否真正能够解决运维团队工作的问题.那我们则需要站到企业运维人员的角度去考虑问题.那么我首先要知道一个企业或者运维团队在规划运维的时候所需要考虑的问题及面临

自动化运维之SaltStack实践视频教程

点我开始学习: http://edu.51cto.com/course/course_id-2354.html 1      培训目标 本课程的目标是让所有参加培训的学员都可以使用SaltStack进行服务器管理,熟练使用远程执行的功能批量操作服务器,使用配置管理进行自动化安装.部署和管理.同时可以根据企业的生产需求进行自定义的开发.最后带领学员完成生产项目-使用<SaltStack进行OpenStack自动化部署>. 2      预备知识 l  熟悉Linux基本命令及系统管理. l  熟

《Ansible自动化运维:技术与最佳实践》图书已上架,欢迎大家阅读

本书由资深运维程师联手打造,通过大量实例,详细讲解Ansible这个自动化运维工具的基础原理和使用技巧:从基础的架构解析.安装配置,到典型应用案例分析,作者分享了自己在工作中的实战经验,为各类运维操作.运维开发人员提供了翔实的指南.本书主要内容包括:Ansible架构及安装,Ansible 组件.组件扩展.API,playbook详解,最佳实践案例分析,用ansible-vault保护敏感数据,Ansible与云计算的结合,部署Zabbix组件.Haproxy + LAMP架构,以及Ansibl

游戏运维的最佳实践:搜狐畅游自动化运维之旅!

搜狐黎志刚见证了畅游游戏自动化运维平台的从无到有,通过在其中踩过的坑.解过的结,他向大家来阐述游戏运维的进阶之路.本文主要围绕畅游游戏管理体系与运维自动化的演变历程.运维自动化的实现及未来运维四方面展开. 畅游运维管理体系与运维自动化的演变历程 畅游运维管理体系演变历程 从 2008 年毕业以实习生的身份进入搜狐畅游,我同公司一起成长,经历了整个运维管理体系从小到大的过程. 整个运维管理体系是从最初石器时代(脚本化),之后的青铜时代(半自动化).蒸汽时代(DevOPS)一路演变过来,现在处于自动