设为首页收藏本站

LinuxTone | 运维专家网论坛 - 最棒的Linux运维与开源架构技术交流社区!

 找回密码
 注册

QQ登录

只需一步,快速开始

#公告#抱歉,网站将关闭,不再开放。由于PC时代已远逝 。在这个后移动互联网时代,我们继续携手前行,保持对技术的热情。共同构建linuxtone知识星球欢迎加入,一起讨论技术、招聘人才、分享资源。请新老linuxtone人 扫码移步到 知识星球:linuxtone

学习是一种信仰!分享是一种快乐!能力= 心态 * 沟通 * 知识 (你的每一天需要正能量!)

 网站的发展需要你贡献一份力量!希望你能每天坚持看贴1小时,并回答网友的问题!祝你在浏览论坛的过程中取得进步!谢谢!linuxtone加油!大家加油! 友情提示: 你今天学习了吗?你今天进步了吗?少一点抱怨!多一点进步!Life is short ! Why not linuxtone ?  

网站的发展、感谢每位坛友的努力!

查看: 4470|回复: 0

puppetmaster+foreman+mcollective使用中500错误解决 [复制链接]

Rank: 7Rank: 7Rank: 7

签到
563
注册时间
2012-8-29
最后登录
2016-10-24
在线时间
498 小时
阅读权限
100
积分
55687
帖子
62
主题
5
精华
0
UID
35107
发表于 2015-3-24 21:36:18 |显示全部楼层
本帖最后由 壹天_笹界晴 于 2015-3-24 21:35 编辑

这几天使用puppet时偶尔出现500错误,于是排查了一番,记录下过程和思路
PS 结果真是个坑啊~~~
由于我们的架构用的foreman+puppetmaster+mcllective 执行的时候偶尔会出现500错误

"failed to execute puppetrun: 500 Internal Server Error"
但是我们在slave端执行确可以正确执行~puppet agent -t 结果也是正确的
那为什么会出现在puppetmaster执行会报错呢,我起初怀疑是mcollective,在这个架构中mco属于中间层,消息推送作用
所以很可能是mco问题导致foreman报出500错误,带着这个思路,首先我在slave端查看了mco的进程,并找到了mco的配置文件
  1. topicprefix = /topic/
  2. main_collective = mcollective
  3. collectives = mcollective
  4. libdir = /usr/libexec/mcollective
  5. logfile = /var/log/mcollective.log
  6. loglevel = info
  7. daemonize = 1

  8. # Plugins
  9. securityprovider = psk
  10. #plugin.psk = unset
  11. plugin.psk = xxxxxxxxx

  12. connector = stomp
  13. plugin.stomp.host = xxxxxx
  14. plugin.stomp.port = 55120
  15. plugin.stomp.user = mrduser
  16. plugin.stomp.password = xxxx

  17. # Facts
  18. factsource = yaml
  19. plugin.yaml = /etc/mcollective/facts.yaml
复制代码
将debug模式打开,重启了mco /etc/init.d/mcollective restart  并且我将正常的配置文件和出错的对了对比
但并没发现问题,重启后我进行了抓包对比和查看mco日志


发现客户端正常发出包后日志就变成了等待回应~ stomp.rb receive waitting for a message from stomp
于是我还翻看了stomp协议~可以没太看懂。。。。 这时有点没头绪了~于是冷静了一下,回想puppetrun执行整体思路
突然想起需要在master端解析slave的hostname 当我执行mco puppet runonce -I hostname时经常无返回,超时现象

但从slave上执行时候可以成功,是不是解析就出在这个问题上了呢? 于是我开始查看master解析 签名证书名称,还有slave对应的hostname及hosts, 突然发现了问题 ~原来这台slave在master上曾经注册过~但是清理的时候没有被清理干净,同时这台slave又更换了主机名导致。。。 在puppetrun时无法解析hostname导致
哎 有点坑啊~
解决方法:在master端删除了认证,同时修改了hostname 并在客户端删除掉/var/lib/puppet/ssl下证书,并用puppet agent -t 重新认证 ~ 问题解决



该贴已经同步到 壹天_笹界晴的微博
<-sina_sign,2017124035,58d84e73,10->
您需要登录后才可以回帖 登录 | 注册

IT运维专家网感谢您的支持

合作联系: QQ:67888954/MSN:cnseek@msn.com/mail:netseek@linuxtone.org

Archiver|手机版|感谢所有关心和支持过LinuxTone的朋友们 转载本站内容请注明原作者名及出处 ( 京ICP备08103151 )   |

GMT+8, 2019-8-18 09:19 , Processed in 0.020498 second(s), 12 queries , Apc On.

Powered by Discuz! X2 Licensed

© 2001-2011 Comsenz Inc.

回顶部