最近闲下来,把之前写的运维平台推到重新整理了一下,把表结构重新规划和代码重写,写了个很Low的系统,主要是结合saltstack来实现;把原先的监控给砍掉,改用zabbix监控的方式,后期会加上调用zabbix随意出图的功能。前端的模板用的是reboot老师给的,我html比较差就没做继承之类的:

   主要实现了:机房的管理、机器管理和搜索、软硬件资产的收集和审计、文件上传和批量推送、命令的批量推送返回结果。


所使用技术要点:

   (2)框架:python:Django框架 

   (5)自动化软件:saltstack


功能说明:

  一、机房管理:主要是机房的添加删除操作。


  二、机器管理:新机器上架后台管理员可以登录系统,资产的录入,主机名定义为唯一值(为了保证saltstack的采集),可以增删改查和搜索相关信息。


  三、资产收集:主要采用salt-api的方式调用管理接口,对grains进行收集,部分不带有的插件如:硬盘大小和内存信息可以自己定义插件收集。


  四、资产的收集、展示和删除。


  五、文件的上传、入库和批量推送;推送选择的是salt/minion的实现方式,通过分组进行推送管理;然后通过salt 的even机制找到返回的记录并统计显示。


  六、批量命令也是通过salt/minion的方式执行;通过分组管理的方式对命令进行推送和通过salt事件监听机制返回是否成功执行操作,并记录数据。


1、机房管理:

机房自动化运维解决方案_python

2、机器管理:

机房自动化运维解决方案_python_02

3、资产收集:

机房自动化运维解决方案_推送_03

4、资产审计:

机房自动化运维解决方案_机房自动化运维解决方案_04

5、5、分组的批量管理:

机房自动化运维解决方案_运维_05

6、文件的上传、推送、查看结果:

机房自动化运维解决方案_推送_06

推送结果:

机房自动化运维解决方案_python_07

7、命令的批量执行和返回结果:

机房自动化运维解决方案_python_08

返回返回结果:

机房自动化运维解决方案_机房自动化运维解决方案_09


##备注:

  之前用过paramiko等方式来实现自己写接口调用执行批量操作,后面发现saltstack后觉得自己不用重复造轮子;还有前期也开发过监控,通过highcharts出图的方式,遇到各种bug。感觉自己多开发一些zabbix插件已经非常完美的执行监控操作了。


https://blog.51cto.com/xiaoluoge/1697308