Puppet主控节点:如何开启日志记录?

3
我们有一个FOSS Puppet 3.8.1运行的主控端,但在某个时候它开始对客户端的目录请求响应500错误。由于不知道问题出在何处,我开始查找日志,但没有发现任何问题。主控端上的“/etc/puppet/puppet.conf”文件如下:
[main]
logdir=/var/log/puppet
vardir=/var/lib/puppet
ssldir=/var/lib/puppet/ssl
rundir=/var/run/puppet
factpath=/lib/facter
pluginsync=true

[agent]
server=our-app.com
certname=cert-name

有一个名为/var/log/puppet的文件夹,但是它是空的。

能否有人帮忙找到错误日志记录的位置?


你是在使用puppet-server还是旧版的ruby puppet-master?根据你的平台,你的puppet-master可能只会记录到/var/log/messages。这个链接可能会有所帮助:https://docs.puppetlabs.com/puppet/latest/reference/services_master_rack.html#logging - Peter Souter
可能它们被记录到了/var/log/syslog - Jakub Kukul
2个回答

1
在puppetmaster上运行以下命令。
puppet config print |grep log

在我的系统上,这会显示出各种有用的路径,例如
masterhttplog = /var/log/puppet/masterhttp.log
httplog = /var/log/puppet/http.log
railslog = /var/log/puppet/rails.log
masterlog = /var/log/puppet/puppetmaster.log
puppetdlog = /var/log/puppet/puppetd.log

对于调试掌控节点和代理之间的关系以及修复清单文件中的错误,报告非常有用。

puppet config print |grep report

注意,Puppetmaster 本身也可以是代理程序,因此可能会有像 last_run_report.yaml 这样的内容涉及 Puppetmaster 配置自身,但您可能希望跳过这些内容。

谢谢!但是问题在于:它说应该在 /var/log/puppet/ 下有日志,但实际上只有 masterhttp.log。那么为什么没有其他日志呢?也许是日志级别的问题? - Stepan Salin
事实证明,masterlog选项实际上从未被使用过,事实上已经被删除,请参见-https://tickets.puppetlabs.com/browse/PUP-877。 - Jakub Kukul
请注意:Puppet 经常更改其路径、CLI 和内部结构。这个答案在 2 年前是正确的。请谨慎处理! - Vorsprung

0

至少在Redhat克隆版本中,日志记录已配置在/etc/sysconfig/puppet中:

PUPPET_LOG=/var/log/puppet/puppet.log

或者

PUPPET_LOG=syslog

如果您选择syslog,它将发送消息到/dev/log,然后被您的日志守护进程(rsyslog)捕获,最终写入/var/log/messages中。使用文件而不是syslog是最简单的方法。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接