今天给大家分享OM自动化运维平台搭建,一方面是给大家在运维提升的道路上有所帮助,另一方面也是给自己的做一个小结。

背景:

本文基于《Python自动化运维 技术与最佳实践》第十三章内容“从零开始打造B/S自动化运维平台”。

平台简介:

OMServer是本平台的名称。OMServer实现了一个集中式的Linux集群管理基础平台,提供了模块扩展的支持,可以随意添加集群操作任务模块,服务器端模块支持前端HTML表单参数动态定制,可灵活实现日常运维远程操作、文件分发等任务;在安全方面,采用加密(RC4算法)指令传输、操作日志记录、分离Web Server与主控设备等。在用户体验方面,采用前端异步请求,模拟Linux终端效果接收返回串。任何人都可以根据自身的业务特点对OMServer平台进行扩展,比如与现有资产平台进行对接,或整合到现有的运维平台中。

系统架构设计:

OMServer平台采用三层设计模式,第一层为Web交互层,采用了Django+prototype.js+MySQL实现,服务器端采用了Nginx+uwsgi构建高效的Web服务;第二层为分布式计算层,采用rpyc分布式计算框架实现,作为第一层与第三层的数据交互及实现主控端物理分离,提高整体安全性,同时具备第三层的多机服务的能力;第三层为集群主控端服务层,支持Saltstack、Ansible、Func等平台。

架构图:

自动化运维可以用bat脚本吗 自动化运维平台搭建_django

机器搭建规划

主机

ip

操作系统

软件

备注

web服务

192.168.1.1

centos7

Python2.7.5、Django1.4.9、uwsgi2.0.4、MySQL-python、rpyc3.2.3、nginx1.8.0、setuptools0.6c11、django-debug-toolbar0.8.5

关闭防火墙和selinux

server

192.168.1.2

centos7

Python2.7.5、rpyc3.2.3、setuptools39.1.0、ansible2.3.1.0-1

主控端

agent01

192.168.1.3

centos7

/

被控机

agent01

192.168.1.4

centos7

/

被控机