一个完善的基础资源数据库是我们构建运维自动化上层应用的基础,所以构建CMDB系统成了有想法在DevOps运维自动化领域有所发展的企业离不开的重要一环,但受制于每家企业不同的内外部环境、资源配置以及管理方式各不相同,开发一套相对通用的CMDB系统就变得非常困难,这也是为什么现在市面上开源的CMDB系统很多,但使用都不是很广泛的主要原因

近段时间偶然发现了一款开源的CMDB系统,构建足够灵活,功能相对完善,使用体验也不错,于是深入研究,了解了其设计思路,更是受益颇多。我们自己也有构建基础资源数据库,目前已成功管理了生产环境所有的资源,更是成为团队小伙伴每天必用的趁手工具,落地效果还不错,这篇文章我就结合自己构建CMDB的经验来介绍下这个开源的CMDB系统:维易CMDB,同时推荐给大家

系统介绍

模型

一个完善的CMDB需要管理企业内的所有资源,不仅是服务器,不仅是数据库,而是所有对我们重要的资源,不仅有硬件,还包括软件,这些资源每个企业可能都不一样,那么要构建相对通用的CMDB,支持自定义资源模型就成了必须的

维易CMDB支持自定义资源分组,例如服务器、数据库等等,支持自定义资源类型,例如物理机、MySQL等等,支持自定义资源属性,例如服务器名称、内网IP等等,支持自定义资源模型与模型之间的关联,例如网卡关联到服务器、服务器关联到应用、应用关联到产品等等,支持为模型添加自定义的触发器,例如模型数据变化自动通知、自动调用WebHook实现更灵活的控制等等,支持属性的自动发现采集更新,例如云上资源自动同步、自定义发现插件等等,支持关系的自动发现更新,例如网卡自动与主机关联关系、nginx直接与服务器关联关系等等。这一段我连续说了好几个支持、自定义,足以看出它的灵活以及强大

关系

模型与模型之间的关联关系可以自定义,模型与模型之间的关系还能自动发现自动关联。同时维易CMDB还会根据模型的关联关系自动生成业务关系拓扑,业务关系、资源关联清晰明了

根据业务关系拓扑用户也可以根据自己的业务需要或查询习惯自定义服务树,根据服务树来查询资源或许更符合我们的使用习惯

查询

足够灵活的配置让我们能够管理所有你想要管理的资源。当然资源管理只是构建CMDB的第一步,更为重要的是要CMDB为我们提供准确的数据,为上层业务服务,这就对于数据的查询和应用显得尤为重要,维易CMDB的查询语法非常灵活,支持多种资源多种属性多种关系的组合查询,可以清晰准确的定位目标资源,同时也有完善的API提供,方便与其他系统集成

权限

除了灵活的模型定义,清晰的资源关系,强大的数据查询,数据的权限控制也非常的重要,维易CMDB的权限控制也非常灵活,权限控制点很多,所有能看到点菜单,所有自定义的模型都有权限控制,权限控制粒度比较细,控制到了对象级别,甚至还能针对模型的字段来进行权限控制

比较有意思的是还支持通过触发器来实现动态授权,支持对资源进行批量授权和权限回收

审计

仅仅有授权还不够,配合上操作审计才完整,维易CMDB有着非常完善的审计机制,所有的数据变化都能在审计日志中记录,权限最小化,操作有记录,全面保障系统安全

大盘

Dashboard不仅能够全面的反映当前资源的使用情况,老板也是非常的喜欢,维易CMDB不仅有大盘,还支持自定义,自定义图表类型,自定义图表样式,根据自定义条件实时计算展示的数据,不仅能够做到好看,更能做到有用

个人看法

通过我自己简单的试用和潜伏社区对开发团队的了解,分享一点我自己不成熟的看法,一家之言,各位看个热闹就好

优势:

  1. 系统很强大,设计很巧妙,如果使用得当应该能满足很多企业的基本使用需求

  2. 系统有很多值得借鉴的地方,例如自定义模型、强大的查询语法和权限设计等等,值得认真推敲学习

  3. 社区比较活跃,尤其是微信群几乎是有问必答,虽然公众号文章阅读量跟我一样少的可怜,但文章内容质量不错

  4. 开源,这个无需多说,向开源致敬

提升:

  1. 配置较为复杂,想要做通用,适应更多的场景,复杂似乎是没有办法的事情,但这对新手和非技术人员很不友好,其实大部分企业对资源都是一样的,如果能内置更多的模型或者有模型市场之类的可以直接使用,那就会简单很多

  2. 体验可以更好,配置太复杂了,能否可以从使用体验上做减法,例如添加默认角色,降低授权难度,例如优化服务树,基于服务树进行授权管理等等

总结一下就是系统很棒,值得好好学习,如果你是专业的技术人员,那这个系统使用起来应该难度不大,同时也能真的解决问题,如果你非技术那使用起来就有一定难度了,不过好在社区活跃,支持到位,多问问问题不大

在线体验

最后附上项目Github地址:https://github.com/veops/cmdb

官方还提供有在线Demo可以体验,README有地址和账号密码,如果想要进社区微信群也可以直接私信我

觉得不错的话请不要吝惜star,好项目值得被更多的人发现,真诚的希望维易CMDB发展的越来越好,造福更多的运维同行

开源推荐,灵活多变功能强大的CMDB的更多相关文章

  1. 讲解开源项目:功能强大的 JS 文件上传库

    本文作者:HelloGitHub-kalifun HelloGitHub 的<讲解开源项目>系列,项目地址:https://github.com/HelloGitHub-Team/Arti ...

  2. .NET开源免费的功能强大控件库

    通信工具IM控件: http://www.cnblogs.com/hubro/p/4316315.html 360安全卫士及QQ部分控件经典皮肤下载 http://www.sufeinet.com/t ...

  3. 工具推荐:ATSCAN,功能强大的Perl脚本扫描器

    工具推荐:ATSCAN,功能强大的Perl脚本扫描器 使用perl语言编写的开源的扫描器,功能丰富强大,除了基本的tcp和udp端口扫描之外,还可以搜索wordpress.joomla等网站并进行口令 ...

  4. 整合了一个功能强大完善的OA系统源码,php全开源 界面漂亮美观

    整合了一个功能强大完善的OA系统源码,php全开源界面漂亮美观.需要的同学联系Q:930948049

  5. 一款开源且功能强大的C#甘特图控件.NET Winforms Gantt Chart Control

    甘特图在项目管理中非常重要,甘特图的思想比较简单,即以图示的方式通过活动列表和时间刻度形象地表示出任何特定项目的活动顺序与持续时间.它直观地表明任务计划在什么时候进行,及实际进展与计划要求的对比.管理 ...

  6. [推荐] kylinPET是一款功能强大的性能测试工具

    [推荐] kylinPET是一款功能强大的性能测试工具 官方网站: http://www.kylinpet.com/

  7. 推荐一款功能强大的Tomcat 管理监控工具,可替代Tomcat Manager

    我们在本地启动Tomcat服务器后,用localhost:访问: 再点Manager App,即可进入Tomcat自带的Manager这个应用,此处可以单独部署/卸载每一个应用.可以看到在Manage ...

  8. 推荐一个高效,易用功能强大的可视化API管理平台

    项目管理 提供基本的项目分组,项目管理,接口管理功能 接口管理 友好的接口文档,基于websocket的多人协作接口编辑功能和类postman测试工具,让多人协作成倍提升开发效率 MockServer ...

  9. Android 整合实现简单易用、功能强大的RecyclerView

    之前总是会有人在一些开发群里问,有木有比较好使且功能强大些的RecyclerVew,比如支持下来刷新,加载更多等,还有人在问,如何为RecyclerView添加分割线,尤其是如何为网格布局添加分割线? ...

  10. Ubuntu 14.04下安装功能强大的屏幕截图软件 Shutter

    [注释]试用了一下,果然很强大,牛逼 一款功能强大的屏幕截图软件——Shutter,Shutter最基本的就是截图功能了,在设计上可以自由选定区域,同时选定之 后依然可以通过上下左右四个地方来改变选区 ...

随机推荐

  1. 用React仿钉钉审批流

    引言 这几天帮朋友忙,用了一周时间,高仿了一个钉钉审批流.这个东西会有不少朋友有类似需求,就分享出来,希望能有所帮助.为了方便朋友的使用,设计制作的时候,尽量做到节点配置可定制,减少集成成本.如果您的 ...

  2. Go/C++/Java中的数组对比

    数组是大多数编程语言中的基本数据结构.然而,不同的编程语言对数组的实现和语义有所不同.以下是 Go.C++ 和 Java 中数组的主要区别: 1. 基本性质 Go: 数组是值类型.赋值或将数组传递给函 ...

  3. WPF MVVM之点滴分享

    (第五点:绑定源有修改) 我并不打算长篇累牍的介绍什么是MVVM.我尽量简洁的介绍,并把自己的经验分享给大家. 一.关于MVVM M:Model,数据模型(后台存储数据的类) V:View,视图(大部 ...

  4. HTML一键打包EXE工具1.9.9发布 (包含最新版下载地址)

    HTML一键打包EXE工具(HTML封装EXE,桌件)是一款能将任意HTML项目(网址)打包为单个EXE文件的工具,无需依赖浏览器和服务器,直接双击即可运行.该工具支持多种HTML项目类型,包括KRP ...

  5. Z-Blog火车头免登录发布教程+插件3.2+支持最新Z-Blog1.7

    Z-Blog免登录采集评论,之前没有加入评论接口,今天把评论接口写好了,写一下简单的教程,(采集评论规则是一件很麻烦的事)有时候采集文章的时候也采集评论,今天教大家怎样用我的Z-Blog免登录采集插件 ...

  6. 创业团队建设与管理mooc【第二次中期测验】

    mo'o 第二次中期测验 返回 已经超过规定的测试次数或提交截止时间已过.你可以作为自我学习进行测验,但提交的结果将无法获得学分. 1 单选(2分) PDCA循环中的P是指什么? 得分/总分 A. 处 ...

  7. RAC 环境中 gc block lost 和私网通信性能问题的诊断

    声明:此文来自于MOS(Doc ID 1674865.1),整理在此以便于大家阅读学习. ■ 概要 在Oracle的RAC环境中,数据库会收集global cache 的工作负载统计信息,并把这些信息 ...

  8. JDK对于Java的作用

    JDK是Java Development Kit的缩写,是Java的开发工具包(SDK).JDK 是整个 Java 的核心,包括 Java 运行环境(Java Runtime Envirnment,简 ...

  9. Epic资源转到unity的方法

    众所周知,unity中的素材主要是通过unity资源商店获取的.但是unity资源商店的白嫖机会太少了,而隔壁UE的Epic资源商店就有每月免费的资源,不白嫖成何体统?但是UE咱也不会用啊,白嫖的资源 ...

  10. Vue之基础事件

    1.基础事件,先弹框试试 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...