运维后台功能介绍

后台的架构图

后台的架构图
功能的介绍

  • 使用的是flask框架开发,前端用的BootStrap+Jquery.
  • 任务的使用的是celery异步框架,这样就剥离了前端与后端的阻塞.
  • 后台与各个服务器端通信使用的ZeroMQ,它的python库为Pyzmq. 利用到了一个常用的模型Pub/Sub, 实时交互Req/Rep等
  • 数据库层了, Redis作为Celery的Broker,同时会做为一些数据的缓存. 同时使用SQLAlchemy做为ORM,谁用谁知道.
  • Agent端的任务执行,全部使用Python模块化处理了,执行指定的任务,就调用对应编排好的任务; 任务使用多线程执行的,执行完成之后把结果推送到处理结果的队列中, 再由结果队列Push到后台的Log Collector日志搜集端. 由LogCollector处理返回的日志并格式化入库.

页面的一些截图

后台首页

后台的架构图

游戏服管理

支持自动部署,快速新建,因为是windows服务器,所以所有游戏服操作, 用ZMQ写了一套C/S架构,有点类似于salt的一套程序.
后台的架构图

游戏组管理

底层部署是利用ansible api完成
后台的架构图

指令操作

对游戏服进行一些指令操作.都是用ZMQ写的接口实现的
后台的架构图

前端资源列表

后台的架构图

游戏更新

分为前后端更新.
后台的架构图

任务列表

所有的执行操作都是用的celery实现的异步化, 提交的任务在这里总览
后台的架构图
执行任务的一些详情
后台的架构图

SVN的在线更新

这个是实时返回输出的. 之后的Ansible Gui开发,也是会用到socket.io的
后台的架构图

CDN推送

把公司用到的CDN使用都API化,实现统一的一个推送界面
后台的架构图

资产的管理

只需要录入初始的IP, 就可以用ansible 的api自动采集硬件信息,变更的记录也弄成了一个时间序列形式的展示
后台的架构图
后台的架构图

Host主机的一些变量设置

如果你了解ansible. 那你就知道这是在干啥了.

后台的架构图


用户中心的管理

包括用户管理/小组管理/部门管理/权限模块管理.权限的设计模型.
用户可以加入到用户小组中, 一个部门下面可以有多个小组. 部门管理员可以对本部门拥有的权限,授权到小组中.可以自己管理本部门下小组/用户; 所有小组作为最小的权限单元,只要用户加入到所属部门的小组中,就自动集成小组权限. 小组拥有的权限, 最大受限于部门拥有哪些权限.

后台的架构图
后台的架构图

后台的架构图

后台的架构图

后台的架构图


TODO

项目的源码,待整理完成之后,在公布出去.

分享即快乐,谢谢你请思哲小朋友吃糖!