标题:《python自动化运维:技术与最佳实践》之OMServer平台环境部署详解【主控制端】 出处:运维进行时 时间:Sun, 21 Dec 2014 06:34:26 +0000 作者:刘天斯 地址:https://blog.liuts.com/post/246/ 内容: 主控端是OMServer的核心角色,负责接收加密的协议串且进行解密,解析成OMServer调用的任务模块,同时结合角色中的saltstack、ansible或func组件,向目标业务服务器集群(被控机)发送执行任务,执行完毕后,将返回的执行结果加解密处理,最后逐级返回给系统管理员,角色所在位置见以下架构图: 点击在新窗口中浏览此图片 https://blog.liuts.com/attachment.php?fid=366 一、环境部署 1、部署saltstack、ansible或func组件,详细见本书相关章节,此处省略; 2、安装rpyc模块 # wget https://pypi.python.org/packages/source/r/rpyc/rpyc-3.2.3.tar.gz --no-check-certificate # tar -zxvf rpyc-3.2.3.tar.gz # cd rpyc-3.2.3 # python setup.py install 3、下载主控端源码 #cd /home download github地址:https://github.com/yorkoliu/pyauto/tree/master/第十三章/OMServer 修改OMServer/config.py主配置文件 # -*- coding: utf-8 -*- #!/usr/bin/env python AUTO_PLATFORM = "saltstack" #指定组件环境,支持saltstack、ansible、func #密钥,与项目中setting.py的SECRET_KEY变量保持一致 SECRET_KEY = "ctmj#&8hrgow_^sj$ejt@9fzsmh_o)-=(byt5jmg=e3#foya6u" 4、编写任务模块 1)在WEB前端点击【添加模块】,指定模块名称、描述、参数接口信息,提交后记录生成的模块ID(数字); 2)在主控端OMServer/modules目录存放了各个组件的模块,以不同目录名作为区分,任务模块名称由“Mid_”+模块ID组成,与前端生成的模块ID进行关联,如Mid_1007.py,可参考现有示例进行修改。 5、启动服务 # cd /home/OMServer # python OMservermain.py & 检查11511端口是否已监听 # netstat -an|grep 11511 二、校验环境 最后,打开浏览器访问http://omserver.domain.com(自定义域名,可通过修改hosts实现),效果图如下。 点击在新窗口中浏览此图片 https://blog.liuts.com/attachment.php?fid=367 三、基于Python构建可扩展的自动化运维平台(WOT分享主题) 基于Python构建可扩展的自动化运维平台 from 我在slideshare.net上的所有分享 Generated by Bo-blog 2.1.1 Release