被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

2020年一场疫情打乱了很多人的节奏,我也因此第一次在北京过年了。

过年的这段时间,因约景点的时间有点晚了,所以很多的景点都没有去成,因此我基本上是在北京的出租房里憋了一个假期。

去年,也就是2020年,我开源了自己的第一个项目 ferry,得到了不少的认可,github的star也马上突破 3k 了。

因此在过年的时候,我就想着把自己构思了一段时间的另外一个项目CMDB写一写。

后来我看到了腾讯开源的CMDB,发现我构思的项目很多地方跟这个项目是类似的,但是没有腾讯开源的这个项目完善,因此就不准备重新开发了,毕竟非定制化的需求,重复造轮子还是没有太大必要的,于是我就开始研究腾讯的这个项目的源码,发现,这个项目是真的复杂呢,微服务的结构设计思路,让这个项目的代码规模有点大,而且还比较绕。程序编译成功后需要运行十几个二进制文件。

还有需要注意的就是必须使用指定版本的Mongodb、Redis、Zookeeper,反正我尝试使用新版本的这几个软件是不行的。单单是本地环境就折腾了好久,因为遇到了好多问题。且非常重要的一点就是这个项目运行起来的话非常吃资源。

本地环境部署完成后,就开始研究源码了。

腾讯开源的这个CMDB,单论CMDB的功能来说的话还是非常不错的。但是我发现很多地方都是依赖腾讯的蓝鲸PaaS平台的,而且就连登陆都是直接写死在程序里的,且没有权限系统(也是依赖于蓝鲸PaaS的)。

我尝试着进行了二次开发,包括登陆、权限及一些新功能的添加,但是我发现真的太麻烦了,登陆部分完成后,权限部分我实在是不想继续写下去了,前端用的是蓝鲸的UI,很多想加的功能点都不能直接用,后端的代码管理也没有用go mod,我还是比较习惯用这个的,整体来说,就是不习惯,于是,我就萌生了仿照这个项目,重新写一个的想法,并且实施了。把自己想要的功能和这个项目现在不错的功能点结合一下。

如果你发现这个项目非常像蓝鲸CMDB,别喷,就是仿照这个项目写的。

项目前端使用的是Vue + Element UI,后端就是Go + Gorm,数据存储方面目前就是MySQL,后面集成ES实现全局搜索。

因为还没有完全完善,因此现在就主要截图展示一下,后续完善后,会看情况是否进行开源。

页面比较多,截图部分页面有问题,有想法,欢迎评论交流。

模型列表

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

模型详情

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

资源目录

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

资源列表

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

资源详情

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

云账号管理

方便进行云资源数据同步

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

新建服务模板

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

新建集群模板

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

服务分类

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

业务拓扑

被 “ 困 ” 京城的时间里,我的CMDB的项目完成了雏形

本文为原创文章,未经授权禁止转载本站文章。
原文出处:兰玉磊的个人博客
原文链接:https://www.fdevops.com/2021/02/18/cmdb-23974
版权:本文采用「署名-非商业性使用-相同方式共享 4.0 国际」知识共享许可协议进行许可。

发表评论

邮箱地址不会被公开。 必填项已用*标注

评论列表(4条)

  • 315218236
    315218236 2021年2月19日 10:22

    蓝鲸的cmdb确实不错,但是监测只能agent,能否开发个snmp的?

  • yfhmmx
    yfhmmx 2021年2月20日 11:04

    期待磊哥开源。蓝鲸确实太庞大了,而且二次开发真的搞不来

  • Jinfuqing
    Jinfuqing 2021年3月11日 16:26

    期待磊哥开源。蓝鲸不是很适合小型环境,而且二次开发需要蛮多人支持的