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