《python自动化运维:技术与最佳实践》之OMServer平台环境部署详解【主控制端】 不指定

刘天斯 , 2014/12/21 06:34 , Python , 评论(26) , 阅读(46061) , Via 本站原创 | |

        主控端是OMServer的核心角色,负责接收加密的协议串且进行解密,解析成OMServer调用的任务模块,同时结合角色中的saltstack、ansible或func组件,向目标业务服务器集群(被控机)发送执行任务,执行完毕后,将返回的执行结果加解密处理,最后逐级返回给系统管理员,角色所在位置见以下架构图:
点击在新窗口中浏览此图片
一、环境部署
1、部署saltstack、ansible或func组件,详细见本书相关章节,此处省略;

2、安装rpyc模块

3、下载主控端源码
#cd /home
download github地址:https://github.com/yorkoliu/pyauto/tree/master/第十三章/OMServer

修改OMServer/config.py主配置文件

4、编写任务模块
    1)在WEB前端点击【添加模块】,指定模块名称、描述、参数接口信息,提交后记录生成的模块ID(数字);
    2)在主控端OMServer/modules目录存放了各个组件的模块,以不同目录名作为区分,任务模块名称由“Mid_”+模块ID组成,与前端生成的模块ID进行关联,如Mid_1007.py,可参考现有示例进行修改。

5、启动服务


二、校验环境
        最后,打开浏览器访问http://omserver.domain.com(自定义域名,可通过修改hosts实现),效果图如下。
点击在新窗口中浏览此图片

三、基于Python构建可扩展的自动化运维平台(WOT分享主题)
qitan Email Homepage
2015/01/08 16:03
天斯兄,modules目录下有mid_100*文件,但是运行的时候报 Module "Mid_1008" does not exist, Please add it 。。请问是怎么回事呢
刘天斯 回复于 2015/01/08 20:31
注意OMServer/config.py中AUTO_PLATFORM = "func"是否为你的管理组件,修改后需要重启服务。如还不行请回退至py2.6。
景天 Email
2014/12/30 00:09
对了,新的主机什么的 主机组 需要怎么导入啊,不会直接操作MYSQL数据表吧?还是需要自己再写Python脚本导入?
刘天斯 回复于 2014/12/30 23:45
与企业现有的资产库对接就好,即导入至OMServer 数据库中。补:OMServer平台是专门为书籍而开发的,重点是实现思想及原理,是一个基础性平台。
景天 Email
2014/12/30 00:08
安装部署好了,添加模块还不是很明白,salt等模块里面的Mid_1003等都还需要自己手工添加吗?我看WEB界面最顶上的“查看系统版本、查看内核模块、。。。。”等这些是已经预置进去了吧?
刘天斯 回复于 2014/12/30 23:43
Mid_1003需要手工编写,此为任务模块,一次编写,终生运行。
景天 Email
2014/12/29 23:53
好。。。书上和源代码 运行的 是 OMServer.py 没有main啊。
景天 Email
2014/12/28 23:57
终于安装成功了,是系统自带了pcre 7.8导致的兼容问题吧。
刘天斯 回复于 2014/12/29 09:28
不排除这个可能性,先记下。
景天 Email
2014/12/28 23:44
好!     为什么安装uwsgi的时候好像出错啊。。core/routing.o:In function 'uwsgi_route_condition_regexp'routing.c:(.text+0x2f4c): undefined reference to ‘pcre_free_study’routing.c:(.text+0x2f70):undefined reference to 'pcre_free_study'> collect2: ld returned 1 exit status> *** error linking uWSGI ***> make: *** [all] Error 1
分页: 2/2 第一页 上页 1 2 最后页
发表评论

昵称

网址

电邮

打开HTML 打开UBB 打开表情 隐藏 记住我 [登入] [注册]