Puppet Agent未以守护进程运行,与官方文档默认设定不符求助
我之前在Debian 9 Stretch环境部署Puppet Agent时,也碰到过完全一样的问题,不少同行社区里也有类似反馈。先明确一点:你看到的那个进程是MCollective,它是Puppet生态里的节点远程管理工具,和Puppet Agent本身完全是两个独立的服务,所以它的运行不代表Agent在正常工作。
下面是几个常见的诱因和对应的排查/解决方法:
先确认Agent的真实状态
用systemd命令直接查看Agent服务状态:sudo systemctl status puppet同时检查Agent的日志文件
/var/log/puppetlabs/puppet/puppet-agent.log,里面会记录进程退出的具体原因。证书未被Master签名导致Agent退出
Puppet Agent首次启动后,会向Master发送证书请求,如果Master没有及时签名,Agent在尝试几次连接失败后就会自动退出。解决方法:- 在Puppet Master节点上执行签名命令:
puppetserver ca sign --certname <你的Agent节点主机名> - 回到Agent节点重启服务:
sudo systemctl restart puppet
- 在Puppet Master节点上执行签名命令:
系统资源不足被OOM Killer终止
Debian 9默认的内存配置如果偏低,Puppet Agent运行时可能因为内存占用过高被系统的OOM Killer强制杀掉。可以通过以下命令排查:dmesg | grep -i oom或者查看
/var/log/syslog里是否有Out of memory相关的日志记录。如果是这个问题,建议给节点增加内存,或者调整Agent的资源占用配置。Agent配置文件出错
检查/etc/puppetlabs/puppet/puppet.conf的语法是否正确,有没有错误的配置项导致进程崩溃:sudo puppet config validate另外,若
runinterval设置过短(比如小于300秒),可能导致Agent频繁运行出现异常,建议保持默认的30分钟(1800秒)或者根据实际需求调整。systemd服务未正确启用
有些情况下,Puppet Agent安装后没有自动设置为开机自启,或者服务启动失败后没有自动重启。可以执行以下命令确保服务正常运行并开机启动:sudo systemctl enable --now puppet
内容的提问来源于stack exchange,提问作者p0nts

