如果您puppet agent -t在代理在后台运行时这样做,那么我们可以看到更改的日志文件在哪里,而不是在 puppet 仪表板上。
我查看了 puppet.conf 并在主要部分看到了logdir,但没有在该位置创建日志文件。
从文档:
作为服务运行时,Puppet 代理将消息记录到 syslog。您的 syslog 配置规定了这些消息的保存位置,但默认位置在 Linux 上为 /var/log/messages,在 Mac OS X 上为 /var/log/system.log,在 Solaris 上为 /var/adm/messages。
当使用 --logdest FILE 选项启动时,Puppet 代理记录到由 FILE 指定的文件。
https://docs.puppet.com/puppet/4.8/services_agent_unix.html#running-puppet-agent-as-a-service
正如 Raul 所提到的,上次运行的报告保存为 yaml 文件在 stateir 目录下。
根据您的操作系统和您使用的 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
Run Code Online (Sandbox Code Playgroud)
阅读最后一个报告文件的一个很好的工具是report-print。如果您需要从上一份报告中获取特定信息,您可能会修改一些报告打印代码来制作您自己的报告打印机。
您还可以使用所谓的报告处理器,当您编写自定义代码来控制格式和处理时,例如发布到 Splunk 服务器、Slack、Hipchat 等。一个简单的例子是store_json,它将报告存储为JSON 而不是 Yaml。