把之前的运维平台重新整理和改写,主要实现的思路是从服务器采购开始,采购之后,从网络部申请得到IP地址;通过厂商那里得到的MAC地址直接定制装机,装机时候直接指定IP地址;后期硬件信息采集的方式取消saltstack的grain方式,直接跑脚本做定期资产录入,提供API的接口方式;录入CMDB之后,通过平台实现把CMDB关联到zabbix数据库,批量对zabbix主机进行批量绑定和解绑,包括维护周期等;时间人力有限后面版本再退出批量管理和git发布系统。系统完成要感谢51reboot的rock和panda两位大神老师的指导,还有龙果学院创始人水哥的建议。


主要实现了:装机平台、CMDB平台、zabbix运维平台、用户管理、权限管理。

git:https://github.com/roncoo/roncoo-cmdb


所使用技术要点:

  1. 开发的语言:python

  2. 框架:python:flask,json-rpc框架 

  3. 前端bootstrap,html,js,css,jquery。

  4. db databases:mysql



功能说明:

  一、装机平台:基于cobbler来做二次开发.

  1.  平台指定安装操作系统版本镜像,安装的分区规划。当然定制ks文件这一块可以随机修改。

  2.  通过厂商MAC地址,指定IP,MAC,网关等,通过管理平台指定IP和系统版本之后,机房相关人员插上网线开机即可安装。

  3.  记录操作数据。


  二、用户权限管理:

  1.    可以对用户进行管理,对用户增删改查修改密码等。

  2.  用户组权限,角色管理。


  三、CMDB管理:

  1.    机房,机柜的相关管理增删改查,这一块只有admin用户可以查看和修改。

  2.  脚本采集系统硬件数据,通过API方式提交和人工录入的半自动方式。

  3.  数据收集参数和删除。


  四、zabbix管理:

  1.  通过CMDB平台联动到zabbix数据库。

  2.  实现对zabbix主机的批量模板绑定、删除;基本上已经完成zabbix管理工作。

  3.  主机出现问题,或者维护数据时候添加维护周期。


系统平台截图:


1、用户管理:



wKiom1fHygzjtnLfAAA0U4F1GQk300.png


。。。。。。。。。。


第二个运维平台项目_第1张图片


。。。。。。。。。。


第二个运维平台项目_第2张图片

2、装机平台:


第二个运维平台项目_第3张图片


。。。。。。


第二个运维平台项目_第4张图片

.。。。。。。。


第二个运维平台项目_第5张图片

。。。。。。。


第二个运维平台项目_第6张图片

3、CMDB平台:


第二个运维平台项目_第7张图片

。。。。。。。


第二个运维平台项目_第8张图片

。。。。。。。。


第二个运维平台项目_第9张图片

。。。。。。。。

第二个运维平台项目_第10张图片

。。。。。。。。

3、zabbix管理平台:

第二个运维平台项目_第11张图片

当CMDB里面的所有主机都在zabbix数据库之后,左边栏查找不到数据:


第二个运维平台项目_第12张图片

。。。。。。。。。


第二个运维平台项目_第13张图片

绑定之后:


第二个运维平台项目_第14张图片


维护周期:


第二个运维平台项目_第15张图片