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

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

CMDB是什么?

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

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

d32f871883056eeb8bf2ce61a1d27c4c237fd1d2

 我心中的CMDB

. 碎片整合

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

. 元数据库

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

. 场景驱动

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

d4d3c1c0ea23f0f2cf73c059bcc3aeedb22f5815da983227fe9232177c27c081e8f0f4a80789f572 

 自动扩容+自动监控

CMDB如何建设?

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

存在的问题:

. 建模粒度失去控制

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

. 缺少行业实践参考

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

. 模型调整太笨重

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

 

我们怎么干的– 管理

. 目标驱动

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

. 行业参考

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

6aa2b260b9a53eaa299e995ae3c50d502eb22b5f

 我们怎么干的– 技术

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

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

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

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

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

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

 

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

存在的问题:

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

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

. 数据来源多、存在冲突

 

我们怎么干的– 管理

. 确定地位

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

. 职权划定

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

. 定期审查

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

4e6e0c87b5ae4d4584b3fab79fd7f39d3ba27ba1

 我们怎么干的– 技术

. 支持协同

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

. 记录历史

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

. 支持调和

利用策略、规则实现多数据源的调和。数据来源过多,也会导致出现数据冲突。在数据出现冲突时,能显示不同数据来源的冲突,并支持人为调和,同时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,还应该提供应用间的界面集成还应该提供应用间的界面集成还应该提供应用间的界面集成。

41db8990292ff6fb17bfe7ae5ab4f1e56dd19e30

 CMDB成功要素

能消费起来的CMDB才是好CMDB

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

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

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

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

 

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

​作者:蒋君伟,任职广通软件新一代敏捷运维品牌优云,旗下包含CMDB、监控中心、操作中心、流程中心、度量中心一体化的一库四中心敏捷运维产品线,同时支持在线服务与私有部署。官网:https://uyun.cn

相关文章
|
9天前
|
运维 监控 安全
构建高效自动化运维系统:策略与实践
【4月更文挑战第29天】 在信息技术日新月异的今天,高效的运维管理已成为企业保持竞争力的关键因素。本文将探讨如何构建一个能够适应快速变化需求的自动化运维系统。通过深入分析自动化工具的选择、配置管理的最佳实践以及持续集成和部署的策略,我们旨在为读者提供一个清晰的框架来优化他们的运维流程。文章的核心在于提出一种结合了最新技术和思维模式的综合解决方案,以实现运维工作的最优化。
|
9天前
|
运维 监控 jenkins
构建高效自动化运维体系:策略与实践
【4月更文挑战第29天】随着信息技术的飞速发展,企业对IT运维提出了更高的要求。传统的手动运维方式已无法满足当前复杂多变的业务需求,因此,构建一个高效的自动化运维体系显得尤为迫切。本文将探讨自动化运维的核心策略及其在企业中的实际应用,旨在为读者提供一个清晰的自动化运维转型路径。通过分析自动化工具选择、流程设计、监控告警以及持续集成和部署等方面,文章力求为运维团队提供一套系统的自动化解决方案,以实现效率提升和故障率降低的双重目标。
|
2天前
|
运维 Kubernetes Devops
构建高效自动化运维体系:DevOps与容器化技术融合实践
【5月更文挑战第6天】随着企业IT架构的复杂化以及快速迭代的市场需求,传统的运维模式已难以满足高效率和高质量的交付标准。本文将探讨如何通过结合DevOps理念和容器化技术来构建一个高效的自动化运维体系,旨在实现持续集成、持续部署和自动化管理,提升系统的可靠性、可维护性和敏捷性。
|
3天前
|
敏捷开发 测试技术 持续交付
深入理解自动化测试:框架与实践
【5月更文挑战第5天】 在现代软件开发周期中,自动化测试已成为确保产品质量和加速交付过程的关键环节。本文将深入探讨自动化测试的核心概念、框架选择以及实际实施过程中的最佳实践。通过分析各种自动化测试工具和技术的优缺点,我们旨在为读者提供一种系统化的方法来构建和维护有效的自动化测试环境。
|
7天前
|
机器学习/深度学习 人工智能 算法
深入理解与实践:基于AI的软件测试自动化
【5月更文挑战第1天】随着人工智能的不断发展,其在软件测试中的应用也日益广泛。本文将探讨如何利用AI进行软件测试自动化,包括其理论基础、实现方式以及在实际中的应用。我们将通过实例分析,展示AI在提高软件测试效率和质量方面的巨大潜力。
|
8天前
|
敏捷开发 运维 测试技术
构建高效自动化运维体系:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】在数字化转型的浪潮中,企业对软件交付速度和质量的要求日益提高。自动化运维作为提升效率、确保稳定性的关键手段,其重要性不言而喻。本文将探讨如何利用容器技术构建一个高效的自动化运维体系,实现从代码提交到产品上线的持续集成(CI)与持续部署(CD)。通过分析现代容器技术与传统虚拟化的差异,阐述容器化带来的轻量化、快速部署及易于管理的优势,并结合实例讲解如何在实际环境中搭建起一套完善的CI/CD流程。
|
8天前
|
机器学习/深度学习 数据采集 算法
【Python机器学习专栏】自动化特征选择与优化的实践
【4月更文挑战第30天】特征选择在机器学习中至关重要,能降低模型复杂度,提高泛化能力和避免过拟合。本文介绍了自动化特征选择的三种方法:过滤法(如SelectKBest)、包装法(如RFE)和嵌入法(如随机森林)。通过结合这些方法,可实现特征优化,包括数据预处理、初步筛选、模型训练与评估、特征优化和结果验证。自动化特征选择能提升模型性能,适应不同数据集和任务需求,为机器学习项目提供坚实基础。
|
8天前
|
中间件 测试技术 API
探索自动化测试工具的新边界:Selenium与Appium的集成实践
【4月更文挑战第30天】 随着移动应用和Web应用的不断融合,传统的自动化测试工具需要适应新的测试环境。本文将详细分析Selenium和Appium这两款流行的自动化测试工具的集成实践,探讨如何构建一个能够同时支持Web和移动端应用的自动化测试框架。通过对比两者的技术架构、功能特性以及在实际项目中的集成过程,我们旨在为读者提供一个清晰的指导,帮助他们在复杂的应用环境中实现高效、稳定的自动化测试流程。
|
8天前
|
运维 Kubernetes 持续交付
构建高效自动化运维系统:基于容器技术的持续集成与持续部署实践
【4月更文挑战第30天】 在快速发展的云计算时代,传统的运维模式已无法满足敏捷开发和快速迭代的需求。本文将介绍如何利用容器技术搭建一套高效自动化运维系统,实现软件的持续集成(CI)与持续部署(CD)。文章首先探讨了现代运维面临的挑战,接着详细阐述了容器技术的核心组件和工作原理,最后通过实际案例展示了如何整合这些组件来构建一个可靠、可扩展的自动化运维平台。
|
8天前
|
机器学习/深度学习 运维 监控
构建高效自动化运维体系:从理论到实践
【4月更文挑战第30天】 在信息技术日益发展的今天,自动化运维已经成为提高系统稳定性、优化资源配置和降低人力成本的关键。本文旨在探讨如何构建一个高效的自动化运维体系,涵盖从初步规划到具体实施的全过程。文章首先分析了自动化运维的必要性,接着提出一套完整的构建方案,并详细阐述了关键技术与工具的选择和应用。通过案例分析,验证了所提方案的有效性,并对自动化运维的未来趋势进行了展望。

热门文章

最新文章