距离V1.0开发已经过去30天了,刚好一月。目前完成的V2.0版本的话跟之前规划的还有点不同,没有去做“资产管理模板化”的功能,但提供批处理功能和Zabbix主机操作功能。
目前版本实现的功能如下:
1、用户管理(后续需要做权限管理)
支持用户的增删查改
2、服务器资产管理(后续需要做分页展示功能、加强对相关数据的加密)
支持手动添加基础数据
支持通过提供服务器登录信息提取基础数据
3、服务器批处理(后续优化,将执行日志信息提供到前端)
作用:指定服务器群执行一个或多个标准脚本,完成批量处理工作。
使用前提:编写好脚本、并上传至指定目录。保存指定服务器的登录信息(暂时只支持密码登录)。
4、Zabbix接入(后续优化,将配置信息提至前端操作)
支持已添加主机的查看、删除
支持添加新的主机、并可选择常用模板监控
备注:Zabbix本身已提供了相关功能的操作界面了,实现该功能是为了后面自动化添加主机、报警添加、服务发现提供支持;
5、待办事项操作(目前比较鸡肋、后续优化提供微信等方式的通知)
作用:记事本功能
支持事项的操作(增删查改)
目前版本的界面如下:
项目目前使用的技术:
前端:Vue.js + Vuex + Axios + ElementUI
ElementUI模板是基于Vue框架,使用参考官方:http://element.eleme.io
后端:Python3 + Django + Django REST framework
存储:Elasticsearch + Mysql
服务器技术:Nginx + Docker
项目目前已有功能存在的待解决问题:
1、目前“批处理”功能不支持并发处理,这是一个很大的问题,效率除非常底下,实现方式是去循环每一个机器、再去循环执行每一个脚本。初步解决方案是参考Ansible的处理方式。
2、未提供权限管理,目前一旦能登陆,即可以操作所有功能。
3、批处理功能执行后,未提供在前端提供日志信息,只能登陆服务器查看。
4、批处理功能中“sudo权限”并为使用起来,暂时是为预留出来的。
后续:
这周的话,会将项目容器化,提供便捷的部署方式。并正式投产,在公司内部使起来,期间会收集各类使用问题。期望在5月底开始代送。目前项目只是对功能进行了实现,其中还有许多优化的空间,笔者也计划在开始代送前学习一些编程的数据结构及算法,为后续优化提供一下可靠的支持。考虑到使用的问题,后续也会录制一个简单的使用视频,提供给有兴趣使用的用户,计划在6月10日前完成录制。