查看puppet代理最近所做更改的日志文件

查看puppet代理最近所做更改的日志文件,puppet,Puppet,如果您在后台运行代理时执行puppet agent-t,那么日志文件在哪里可以看到更改,而不是在puppet仪表板上 我查看了puppet.conf,在主要部分我看到了logdir,但在该位置上没有创建日志文件 在Linux中,查看系统日志(/var/log/messages或journalctl)。 您应该在/var/lib/puppet文档中有一份.yaml格式的每次执行报告: 作为服务运行时,Puppet代理将消息记录到syslog。你的 syslog配置规定了这些消息的保存位置,但是 L

如果您在后台运行代理时执行
puppet agent-t
,那么日志文件在哪里可以看到更改,而不是在puppet仪表板上


我查看了puppet.conf,在主要部分我看到了
logdir
,但在该位置上没有创建日志文件

在Linux中,查看系统日志(
/var/log/messages
journalctl
)。 您应该在
/var/lib/puppet
文档中有一份
.yaml
格式的每次执行报告:

作为服务运行时,Puppet代理将消息记录到syslog。你的 syslog配置规定了这些消息的保存位置,但是 Linux上的默认位置是/var/log/messages, /Mac OS X上的var/log/system.log和Solaris上的/var/adm/messages

当使用--logdest FILE选项启动时,Puppet代理将登录到FILE指定的文件

正如Raul提到的,上次运行报告保存为statedir目录下的yaml文件

根据您的操作系统和使用的Puppet版本,这可能位于不同的位置

例如,在安装了Puppet 4的服务器上:

$ tree $(puppet agent --configprint statedir)
/opt/puppetlabs/puppet/cache/state
├── classes.txt
├── graphs
│   ├── expanded_relationships.dot
│   ├── relationships.dot
│   └── resources.dot
├── last_run_report.yaml
├── last_run_summary.yaml
├── resources.txt
├── state.yaml
└── transactionstore.yaml

1 directory, 9 files
读取最后一个报告文件的一个很好的工具是。如果您需要上一份报告中的特定信息,您可能需要修改一些报告打印代码以制作自己的报告打印机


您还可以使用所谓的报表处理器,即当您编写自定义代码来控制格式和处理时,例如发布到Splunk服务器、Slack、Hipchat等。一个简单的示例是,将报表存储为JSON而不是Yaml。

这是一个较老的问题,但是被接受的答案对我没有帮助,所以这里有一个其他人可能会觉得有用的选择。如果您的puppet运行发生在不久之前,那么其输出可能不会出现在
/var/log/messages

相反,您可以在
/var/lib/puppet/state/last_run_summary.yaml
(和
last_run_report.yaml
)中查看节点上上次puppet运行的摘要(和报告)。报告是上一次运行的完整日志,而摘要是简要概述。他们有您可能无法从
消息

中获取的信息,这些信息与: