《python自动化运维:技术与最佳实践》之OMServer平台环境部署详解【主控制端】
主控端是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分享主题)
123
2017/05/12 03:47
运行出错No hosts found,请确认主机已经添加saltstack环境!直接在master执行 “salt ‘*’ test.ping” 可以返回TRUE 请问是什么情况
我
2017/05/05 16:38
使用后台命令行没什么问题,界面操作出问题:[root@temp OMServer]# salt '*' test.pingwww-slave: Truetemp.eston.top: True====================[root@temp OMServer]# No minions matched the target. No command was sent, no jid was assigned.No minions matched the target. No command was sent, no jid was assigned.
我
2017/05/05 16:34
[root@temp OMServer]# No minions matched the target. No command was sent, no jid was assigned.No minions matched the target. No command was sent, no jid was assigned.
hihihi
2017/04/26 14:14
天斯兄,我操作的时候总是返回timeout504,nginx的timeout时间已经改了可以总是出现这个问题
paul8339
2017/03/20 10:34
天斯兄,有3个问题。1,我把数据库数据直接改成自己服务器IP,这样可以不?2,添加模板显示成功,但是在服务器端没有Mid_1008.py3,我每次执行命令都是connect rpyc server error:[Errno 111] Connection refused
九州浪客
2017/01/19 14:37
选择好服务器执行返回结果报错了:connect rpyc server error:'b'instancemethod'' object is not callable
leemon
2015/10/14 17:50
接上:在libraries.py中也看到才hosts.upper()这样的刻意处理,对python不是很了解,能问下为什么这么做吗?
leemon
2015/10/14 17:37
saltstack执行命令出现出现 no host found是因为在OMServer的主控端的modules下面的Public_lib.py最后返回的结果进行了upper()处理
狂奔的骆驼
2015/08/19 13:08
刘天斯,你这个网站是用什么框架搭建的?
xieqn
2015/04/24 18:07
#tail -f omsys.log2015-04-24 18:04:35,211 [DEBUG] Missing configuration file: ~/.saltrc2015-04-24 18:04:35,212 [DEBUG] MasterEvent PUB socket URI: ipc:///var/run/salt/master/master_event_pub.ipc2015-04-24 18:04:35,212 [DEBUG] MasterEvent PULL socket URI: ipc:///var/run/salt/master/master_event_pull.ipc2015-04-24 18:04:35,243 [INFO] goodbye ('10.42.xx.xx', 53514)您好,请问这个问题怎么处理。
xieqn
2015/04/24 16:53
部署是成功了,还整明白到底怎么去使用它。
奢侈
2015/03/06 17:34
天斯:昨天的出现的问题已经解决,在Public_lib.py 中 return target_string.upper() 返回的是主机名的大写,所以把主机名全部用大写命名。就可以了。有个问题是,我去掉upper() ,直接返回 return target_string ,却出现类型错误的提示,点解啊?
刘天斯 回复于 2015/03/07 17:11
加群讨论下:222171081
奢侈
2015/03/05 13:18
运行出错No hosts found,请确认主机已经添加saltstack环境!直接在master执行 “salt ‘*’ test.ping” 可以返回TRUE请帮忙解答
ww
2015/02/12 11:59
搞来搞去。都是 入库失败,请与管理员联系!(1045, "Access denied for user,
刘天斯 回复于 2015/02/12 21:22
数据库没有开通平台访问权限。
KEVIN
2015/01/11 11:31
天斯兄,麻烦看看是什么问题 No hosts found,请确认主机已经添加saltstack环境No minions matched the target. No command was sent, no jid was assigned.
刘天斯 回复于 2015/02/12 21:23
确认你的saltstack环境,以及与minion的连通性。
qitan
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。
景天
2014/12/30 00:09
对了,新的主机什么的 主机组 需要怎么导入啊,不会直接操作MYSQL数据表吧?还是需要自己再写Python脚本导入?
刘天斯 回复于 2014/12/30 23:45
与企业现有的资产库对接就好,即导入至OMServer 数据库中。补:OMServer平台是专门为书籍而开发的,重点是实现思想及原理,是一个基础性平台。
景天
2014/12/30 00:08
安装部署好了,添加模块还不是很明白,salt等模块里面的Mid_1003等都还需要自己手工添加吗?我看WEB界面最顶上的“查看系统版本、查看内核模块、。。。。”等这些是已经预置进去了吧?
刘天斯 回复于 2014/12/30 23:43
Mid_1003需要手工编写,此为任务模块,一次编写,终生运行。
景天
2014/12/29 23:53
好。。。书上和源代码 运行的 是 OMServer.py 没有main啊。
景天
2014/12/28 23:57
终于安装成功了,是系统自带了pcre 7.8导致的兼容问题吧。
刘天斯 回复于 2014/12/29 09:28
不排除这个可能性,先记下。
分页: 1/2 1 2