#我们近期开发了一个CMDD系统,主要应用于内部运维团队使用,开发毕竟是闭门造车,如果有不足的地方,欢迎大家留言给我,谢谢!


#开发CMDB,所涉及的技术点,如下:

(1)开发的语言:python+perl团队开发

(2)框架:python:Django框架 perl:Mojo框架

(3)前端bootstrap,html,js,css,jquery。

(4)db databases:mysql

(5)自动化软件:saltstack


#备注:有很多信息打码了,因为敏感,源码也不公开,毕竟是公司产物,请理解!


我们开发的CMDB总共有7大功能:数据添加,数据查询/搜索,历史数据查询,树状查询,自动收集CMDB信息,权限控制,数据导出,生成CSV格式,


#功能说明:

(1)数据添加功能:如果有新服务器,运维人员如果想手工录入,可以使用这块手动录入/添加CMDB数据。

(2)数据查询/搜索功能:数据查询/搜索功能这块是模糊匹配+精确匹配,对4个方面进行了控制,外网IP地址,机器盘点号,机柜信息,管理员,搜索的人员通过这4个选项都可以搜索对应和想查找的信息,只有对应的管理员才能管理对应的服务器列表和数量,否则只能搜索出来,查找详情,不能编辑和删除服务器数据相关类容。

#备注:默认这4个选项不能为空就搜索/查找,否则前端会提示输入其中一个方可搜索。

(3)历史数据查询功能:这块是全部数据的历史查看。

(4)树状查询功能:这块使用ztree前端插件,官方Demo地址(http://www.ztree.me/v3/demo.php),默认是全部数据展示,如果想输入每个对应的管理员搜索/查找,Ztree树形就会显示当前管理员所有的服务器,所有服务器是按照地区/机房显示,中文全部转换为拼音格式。

(5)自动收集CMDB信息:这个功能底层采用saltstack master/minion,收集出来的数据,通过json格式入库。

(6)权限控制功能:权限主要应用在2个方面:URL和搜索管理员权限。

wKioL1Vj0pWic33uAAQw5fSdHbQ826.jpg

wKiom1Vj0QbACmSLAAH6YY2ussI208.jpg

wKioL1Vj0pXQWproAAIu0_YvdQw411.jpg

wKiom1Vj0QeDJ0CTAAI8UNKSV94503.jpg

wKioL1Vj0payjnE7AAJw3Nmc3hE542.jpg

wKiom1Vj0QfhqhsFAAKenxH9eow264.jpg

wKioL1Vj0paiPqUGAAG8Xhb6RJI858.jpg

wKiom1Vj0QjxXTeTAAGaEaQDAdY161.jpg



(7)数据导出,生成CSV格式功能:通过每次搜索出来的结果和数据,运维人员可以通过下载CSV按钮,下载当前搜索的数据结果到本地电脑当中,下载完成之后,可以使用excel打开。



#备注:

1)python和perl数据交互,互传是通过json格式。

2)这个项目开发的时间:2个半月时间。

3)开发模式:团队开发,互相配合,协同开发对应的功能/模块。


下面是功能截图!


wKiom1VUfNrDQEqOAAXQzMSmZKg639.jpg

wKioL1VUflSAgezRAAJEDgE0nlU390.jpg

wKiom1VUfNrzrOGvAAOxMGv5o3E273.jpg

wKioL1VUflWQYl_6AAKLTFqC5HE624.jpg

wKiom1VUfNuQho6fAAbDt6EPfck245.jpg

wKioL1VUflbysOx7AAPonTbvezo065.jpg

wKiom1VUfNyDyNARAALB3bgOc40721.jpg

wKioL1VUflaAJHjHAALAcbYFrOc701.jpg

wKiom1VUfNzS2D4lAAIvE0tJqsQ143.jpg

wKioL1VUfleSmJJWAAKRwruITk4737.jpg