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、监控中心、操作中心、流程中心、度量中心一体化的“一库四中心”敏捷运维产品线,同时支持在线服务与私有部署。官网:https://uyun.cn

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

  1. 从时代变化与规模谈自动化运维

    文/余沛 时代变化所引起的运维视角不同 在计算机应用的发展历史中,运维工作一直是必不可少的重要环节.无论在什么年代.什么场景,保证服务的正常可持续运行都是运维的最终目标.但在不同时期,运维实施的手段. ...

  2. MySQL的性能优化及自动化运维实践与Mysql高并发优化

    首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用,这是我们 DBA 的功能. 了解这些功能以后要对体系结构有更加深入的了解,你不知道怎 ...

  3. DBA很忙—MySQL的性能优化及自动化运维实践

    作者:王辰 来自:高效运维(ID:greatops) DBA的日常工作 首先,我们来看看DBA的具体工作,我觉得 DBA 真的很忙:备份和恢复.监控状态.集群搭建与扩容.数据迁移和高可用,这是我们 D ...

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

    MySQL数据库性能优化及自动化运维实践教程!本文作者将站在更加全面的角度分享他在这一年多 DBA 工作中的经验,希望可以给大家带来启发和帮助. DBA 的日常工作 我觉得 DBA 真的很忙,我们来看 ...

  5. 滴滴高级专家工程师保姆级运维监控科普(二)

    监控指标的完备程度,是衡量一个监控系统优劣的重要因素.指标不仅是个名称+数值,更蕴含了目标监控对象的领域知识,理解指标,会加深对目标领域的认知.--晓辉说. 前言 很多用户来问,这个指标是什么意思,那 ...

  6. 三分钟构建自动化运维平台-nightingale(夜莺)

    最终搭建完成成品监控效果如图所示 夜莺是一套分布式高可用的运维监控系统,最大的特点是混合云支持,既可以支持传统物理机虚拟机的场景,也可以支持K8S容器的场景.同时,夜莺也不只是监控,还有一部分CMDB ...

  7. 技术沙龙|京东云DevOps自动化运维技术实践

    自动化测试体系不完善.缺少自助式的持续交付平台.系统间耦合度高服务拆分难度大.成熟的DevOps工程师稀缺,缺少敏捷文化--这些都是DevOps 在落地过程中,或多或少会碰到的问题,DevOps发展任 ...

  8. 魅族容器云平台基于Kubernetes自动化运维实践

    作者简介: 曾彬 阿里巴巴 高级技术专家 互联网老兵,十多年的基础架构经验,曾在支付宝.爱立信.魅族等担任系统架构师,从事过 Linux 内核开发,Java 中间件.SOA 应用框架的设计实现.云平台 ...

  9. 企业级自动化运维方案设计及Saltstack、Ansible等5种工具比较分析--云平台技术栈08...

    导读:之前发布了云平台技术栈(ps:点击可查看),本文主要说一下其中的服务器自动化配置! 来自:公众号talkwithtrend 1.企业运维现状与发展趋势 随着企业信息化的不断发展,运维人员需要面对 ...

最新文章

  1. C#列出局域网中可用SQL Server服务器(续)
  2. Mac~git学习和应用需要注意的几个点
  3. Linux 零拷贝 sendfile函数中文说明及实际操作
  4. BootStrap笔记-分页
  5. 程序员面试金典——4.4输出单层结点
  6. C#多态 (小结转载)
  7. uniapp页面跳转出现白屏(APP与小程序)
  8. 翻译:您在Swift 5中的第一个UITest
  9. 黑苹果常用 工具+Kext+ACPI+UEFI驱动 下载
  10. 打游戏计算机内存不足,玩游戏老提示内存不足怎么办
  11. VMware 的安装和破解密码
  12. HTML5期末大作业:个人生活网站设计——简单的个人生活记录介绍网页模板HTML+CSS+JavaScript 生活网页HTML代码 学生网页课程设计期末作业下载 动漫大学生网页设计制作成
  13. stm32h7内存分配_【STM32H7教程】第26章 STM32H7的TCM,SRAM等五块内存的超方便使用方式...
  14. 人似秋鸿来有信,事如春梦了无痕
  15. Python更新失败:SSL错误——Conda/Python
  16. 比赛记录——记录一次失败的比赛,九坤量化验证码识别大赛
  17. Creo 5.0软件安装教程|兼容WIN10
  18. 8.6 自制操作系统: risc-v Machine寄存器mcounteren/mcountinhibit
  19. 《完全用Linux工作》
  20. Python练手小项目(11)用户名密码验证的初步探索

热门文章

  1. 智选物流-API接口平台(淘宝菜鸟、快递鸟)
  2. vscode之python框架flask 断点调试的配置(官方推荐的配置,务必注意端口)
  3. 接入支付宝小程序能力 人人租机实现从 0-100 增长
  4. java开发笔试测评题笔记
  5. 假设你每年初往银行账户中1000元钱,银行的年利率为4.7%。 一年后,你的账户余额为: 1000 * ( 1 + 0.047) = 1047 元 第二年初你又存入1000元,则两年后账户余额为
  6. CAD如何设置中点捕获
  7. 终极解决solidworks2019无法获得下列许可solidworks standard无效的(不一致的)使用许可号码(-8,544,0)
  8. 搞破坏?混沌工程的稳定之道
  9. Qt QTextBrowser添加颜色文字
  10. Day02 dos的基础学习