把之前的运维平台重新整理和改写,主要实现的思路是从服务器采购开始,采购之后,从网络部申请得到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. 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、用户管理:



运维云平台架构_前端


。。。。。。。。。。


运维云平台架构_数据库_02


。。。。。。。。。。


运维云平台架构_数据库_03

2、装机平台:


运维云平台架构_运维云平台架构_04


。。。。。。


运维云平台架构_git_05

.。。。。。。。


运维云平台架构_前端_06

。。。。。。。


运维云平台架构_git_07

3、CMDB平台:


运维云平台架构_git_08

。。。。。。。


运维云平台架构_运维云平台架构_09

。。。。。。。。


运维云平台架构_前端_10

。。。。。。。。

运维云平台架构_前端_11

。。。。。。。。

3、zabbix管理平台:

运维云平台架构_前端_12

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


运维云平台架构_数据库_13

。。。。。。。。。


运维云平台架构_ViewUI_14

绑定之后:


运维云平台架构_ViewUI_15


维护周期:


运维云平台架构_运维云平台架构_16