好东西要分享,开源免费的CMDB运维数据库,轻松管理企业设备资产!

IT技趣堂 2024-06-12 14:50:15

什么是CMDB?

CMDB是一种用于管理和维护信息技术IT基础设施配置项CI的数据库。CMDB 旨在追踪和记录与 IT 环境相关的配置项及其关系,为 IT 管理、配置管理和服务管理提供支持。

企业一般都是自己内部的运维团队按照公司的运维场景需求设计和构建的CMDB,因为很少能有开源产品能满足他们的需求,或者是个性化的需求二次开发比较难以实现,所以他们都选择了自主研发,而不是使用开源。

因此,要实现一个尽可能通用、灵活、可扩展的运维资源数据的配置和管理系统,系统必须要满足:

运维人员能根据企业的运维场景和需求,自己去构建存储的数据模型,以及模型之间的关系;

提供丰富的API,尤其是在数据和关系检索要做到通用,便于二次开发;

用户可以方便的订阅自己关心的数据,有丰富的图表展示;

数据的自动发现和细粒度的权限控制;

今天给大家分享一个我试用过的维易一站式CMDB开源运维系统,现在最新的CMDB 2.0迎来了一次全面升级的产品更新,本次更新旨在提升系统的功能性和用户体验,为运维管理提供更多便利与安全保障,欢迎大家使用体验!(记住它家的堡垒机也开源免费啦)

在线Demo: https://cmdb.veops.cn

用户名: demo 或者 admin

密码: 123456

Github开源地址为:https://github.com/veops/cmdb

如图,CMDB自下而上被划分为4层: 存储层、数据层、API、UI,图中的CIType可以理解为数据模型,例如物理机、虚拟机、应用、网卡、软件等。CI是配置项,即CIType的实例, 例如具体的1台物理机就是1个CI。下面概要介绍一下这4层。

存储层 :主要用来存储CIType和CI,以及它们之间的关系。

Mysql: 所有数据的持久化存储;

Redis: 数据缓存,主要是用户、属性、CIType、权限等的数据缓存,减少Mysql访问压力,提升API的响应速度;

Elasticsearch: 主要存储CI的实例数据,用来检索CI。实际上ES是一个可选的方案,CI数据的检索默认是通过Mysql+Redis来实现的,当然CI的实例数若超过一定数量级,考虑到查询效率,建议使用ES。

数据层 :描述了模型数据和实例数据,以及它们之间的关系。在这一层首先需要运维按照具体的应用场景来完成模型的构建。模型包括属性,属性有不同的值的类型,且有一些检验规则,比如唯一、必须等的校验,在系统层面避免脏数据的录入。总结下来,运维CMDB实际上主要包括下面4种类型的数据:

硬件数据:物理机、宿主机、机柜、网络设备、网卡、硬盘、内存等等;

软件数据:docker、mysql、redis、tomcat等等;

业务数据:应用、产品线、事业部等等;

关系数据:上面3种类型数据之间的关系;

当然,每个公司的运维场景各异,用户都可以按照自己的需求来设计数据模型。

API层 : 对UI提供一套统一、透明的调用接口,对下层各数据模块实行接口抽象与封装。要尽可能实现通用,要求CI和CI relation的查询API必须做到通用和灵活,要考虑到用户各种各样的查询需求,本系统实现了对应的2个API,基本上满足了前端对数据查询的所有需求。

UI层 : 实际上就是web portal,用户直接访问CMDB的门户。核心功能主要包括:模型配置、资源视图、关系视图、树形视图和权限管理这5个核心模块。下面将对这5个功能模块进行阐述。

CMDB是运维的基石,也是运维的权威数据库,权威不仅体现在数据准确,也要求数据唯一,不能在多套系统里维护着同样的运维资源数据,这样数据准确性更难保证。CMDB的价值体现在数据被消费,最常见的消费场景就是监控、运维作业的调度执行、ITSM流程类相关的系统。

自动发现

系统可以自动识别和导入IT资产,减少手动录入的工作量和错误。

自定义频率自动巡检、自动录入

内置丰富模板,开箱即用

丰富的图表定制

全新的仪表盘定制功能可以自由配置信息展示,实时监控系统状态,轻松做出高效决策。

后台操作日志管理

新增后台操作日志管理功能,记录并追踪系统的各项操作记录,包括CI实例变更、关系变更、模型变更,用户可以实时查看操作日志,了解系统的操作历史,确保数据安全,并方便进行安全审计和合规性要求的满足。

权限颗粒度

权限管理进一步优化,管理员可以更细粒度地控制用户对数据的访问权限。通过配置角色和权限策略,确保每个用户只能访问其授权范围内的数据,提供更严格的数据安全保障。

维易CMDB的优势有:

开放数据结构自由定义关系

CMDB提供自动发现功能,系统不依赖手工录入,对于不同的资产能做到定时发现、定时入库;

完备操作日志精准权限控制

不同部门的用户配置不同的访问控制权限,权限控制需要到不同的CIType字段、CI上;能够方便定位、追踪某一段时间内的数据变化操作来源;

RestFul API可插拔应用

提供丰富的API,尤其是在数据和关系检索做到通用,便于二次开发;

多维度分析洞察数据信息

内置资源视图、层级视图、服务树,让用户多维度理解数据、分析数据.

功能还有很多,需要大家自己去了解了。

最后有爱好网络产品,喜欢折腾的朋友欢迎关注@我,一起交流心得共同进步!

0 阅读:1

IT技趣堂

简介:呈现网络、AI、IT 和开源软件等多元技术的盛宴。