你知道CMDB吗?

2022-06-24 17:30:35 浏览数 (2)

随着专有云的发展,上云客户不断增多,运维场景也逐渐多样化。在这种背景下,交付、售中、售后及客户运维团队急需一个准确、统一的资源使用视图,管理云平台资产信息,同时支持监控、日志、部署升级等各项运维系统的正常工作,CMDB应运而生。

作为腾讯专有云的资产管理中心,CMDB面向产品(业务)维度划分并管理资产,并为平台其他运维运营组件提供源数据。

产品介绍

CMDB 于 TCE3.3.3 版本接入专有云平台,已部署落地于 60 多个客户 110 多朵云,作为专有云运维平台数据源提供服务,同时提供 API 支持客户进行上层系统开发(如某金融客户自研运维系统等)。

CMDB 纳管的资产信息包括传统运维中的主机(物理机/虚拟机)、网络(网络设备、IP网段资源、专线出口、互联网出口)、基础设施(地域、可用区、机房机位)等硬件设施,为了支持基于云原生的多样化的云平台管理运维场景,也于 TCE3.8.0 版本起新增纳管云原生资源:容器及其特征属性、中间件实例等。

目前包含七大子功能:业务树管理功能、动态模型管理功能、同步管理功能、标签管理功能、信息校验功能、全文搜索功能、资产安全管理功能。

使用概况

1、作为运维运营组件数据源,CMDB 为以下专有云平台运维组件提供资产信息:日志系统、监控系统、采控平台、资源交付、流程引擎、巡检平台等等。

2、与云产品 OSS 联动,记录云产品使用资源信息和生命周期或提供资产信息,已经接入的有CBS、CFS、CSP、COS、CVM、VPC、CLB、KMS 等全部云产品。

3、提供 API 支持客户进行上层系统开发。

产品架构及组件(TCE3.8.0版本)

容器化服务:

存储:

依赖的其他组件:

产品子功能详细设计

业务树管理功能:

CMDB 按照业务树的三层拓扑结构(业务 - 集群 - 模块)划分各业务的资产使用情况,最后一层(模块)关联具体的资产,直观展示各产品各子功能使用的资产信息。

业务:用于标识高内聚、低外延的功能集合,比如云产品 CVM、CBS、COS 等。

集群:业务下面的功能独立的服务集合(如 cbs 快照集群、存储池集群)。

模块:功能进一步细分,同一个“模块”的主机共享完全相同的进程信息,关联具体的资产。

界面展示效果图:

在数据存储层面,每一层级(业务/集群/模块)都视为一种模型,存储于独立的数据表格中(biz、set、module),并由模块资产关联表格记录业务树与资产的关联信息。

动态模型管理功能:

提供新增自定义模型(即资产类型,预设的如:主机、容器、网络设备等)、字段(即资产信息列表中的列属性)能力,以支持客户对资产的信息管理的客制化需求。如某金融客户通过此功能为“主机”模型添加资产合同信息、维保信息、购买日期进行维护。

现有预设模型如图所示,可以在界面维护或者新增资产类型:

点击任意模型,可进入字段属性详情页,并进行字段的管理:

同步管理功能:

资产数据的同步,CMDB 资产配置数据来源分为五类:

  1. 同步平台定时同步,支持设置同步周期、策略(更新/删除策略)等(详见后文)
  2. 通过前端相应资产界面增删改(支持批量操作)
  3. 其他后端组件调用 http 协议接口更新资产信息(如云产品更新使用资产情况)
  4. 由部署于机器上的 agent 自动上报
  5. 通过配置中心渲染的配置文件获取(如环境的 region、zone、机房信息)

同步平台(cmdb-sync)设计:同步组件支持手动触发和定期同步,不同任务由单独进程负责,在收到监听事件后转成后台异步执行同步。

同步平台界面展示效果:

标签管理功能:

支持根据具体使用场景对各模型的资产打标签,并按标签查询归类资产;优化了对各类资产的整合分类管理方式 ,适应不同场景的资产划分。

标签管理(cmdb-tag)架构主要包括两个模块:

HTTP 服务模块:负责提供标签的增删改查接口,支持标签操作。

定时对账模块:负责定期对账 CMDB 的资产信息,以及无效、异常资产标签关联关系的清除和预警。

界面展示效果(可以勾选资产进行标签编辑或按照标签进行筛选):

信息校验功能:

针对主机资产的信息准确性校验功能,对主机 agent 上报的基础信息在服务端进行校验和过滤。

资产准确性的校验,包括以下两类:

(1)主机归属的业务模块的校验:校验主机是不是应该属于当前模块。

主机上 agent 上报进程信息到 CMDB,CMDB 根据主机当前归属业务模块的进程信息进行比对校验,如果不符合则产生告警。校验规则如下表所示:

校验流程:

cmdb-check 对主机 agent 上报信息进行数据库检索匹配,查询对应的进程以及模块信息。

按“判定原则”(全部进程/单一进程)过滤业务模块:如果是“全部进程”,校验该主机是否包含了本业务模块配置的所有进程信息,否则过滤掉。

按“是否混部”(混部/不混部)过滤业务模块:如果得到的业务模块有多个,过滤掉配置为“不混部”的业务模块。

根据前几步过滤剩下的业务模块,与当前主机关联的业务模块进行对比,不一致则告警。

(2)主机硬件信息校验:校验主机的硬件信息是否准确。

主机上 agent 上报硬件信息至 CMDB(内存、硬盘、CPU、网卡等,如下表),CMDB 根据数据库当前的配置信息和上报信息对比,不符合则产生告警。

全文搜索功能:

支持客户对 CMDB 所有资源的所有属性进行快速模糊查询,并提供前端界面展示结构化的查询结果。

全文搜索入口:

搜索结果展示(如图为根据 IP 搜索,查询到该 IP 对应的机器及其相关 Pod 信息):

为了提升全文搜索性能,CMDB 使用 ES 进行资产索引构建,由 cmdb-core 服务负责实时和定期对 ES 资源索引的构建和维护。

资产安全管理功能:

包括记录对资产的变更记录的审计功能、鉴权功能,保障资产安全性和变更可溯源性。审计功能记录了所有对资产的变更操作信息(操作者、操作时间、变更对比等);鉴权功能与业务树联动按用户角色限制操作资产的权限(如下表):

目前 CMDB 已纳管维护多种资产支持专有云平台日常运维运营场景的正常工作。未来为了支持更多运维场景以及支持专有云一键化部署升级变更能力,CMDB 将增加业务树拓扑的动态性,优化资产的组织展现方式,新增纳管规划信息以及更多云上资产信息,让 CMDB 成为云平台的权威数据源。

-END-

0 人点赞