Puppet 默认将日志写入 syslog。这是为什么?大多数软件写入一些单独的日志文件。我检查了文档,其中提到您可以写入日志文件,但提到“这通常不使用”。这是个坏主意吗?
遵循 puppet 日志记录的典型设置是什么?在 /var/log/messages 文件上使用 grep?
既然你提到了syslog
,我假设你在谈论类似 Debian 的 Linux。
实际上没有必要编写自己的日志工具。定制/etc/default/puppet
就够了。
# Startup options
DAEMON_OPTS="--logdest /var/log/puppet/puppet.log"
/etc/default/puppet
来源是/etc/init.d/puppet
,因此您在此处添加的选项将在puppet
服务启动时执行。
关于--logdest
选项的文档:https ://docs.puppetlabs.com/references/3.3.1/man/apply.html#OPTIONS
顺便说一句,为 Debian(或 Ubuntu)提供的 deb 包 puppet 甚至包括一个 logrotate 配置文件/var/log/puppet
,我不知道为什么这个选项不是默认的。
/var/log/puppet/*log {
missingok
sharedscripts
create 0644 puppet puppet
compress
rotate 4
postrotate
pkill -USR2 -u puppet -f 'puppet master' || true
[ -e /etc/init.d/puppet ] && /etc/init.d/puppet reload > /dev/null 2>&1 || true
endscript
}
为此,我们正在使用 puppet-dashboard。它将为您提供有关环境的一个很好的概述,什么是失败的,什么是有效的。以及哪些服务器已停止签入。
它易于设置,请查看http://puppetlabs.com/puppet/related-projects/dashboard/
如果要记录到不同的文件,可以使用 puppet ( http://docs.puppetlabs.com/references/stable/configuration.html#syslogfacility ) 中的 syslogfacility 配置选项,并将 syslog 配置为将其记录到不同的文件文件。