生成报告
What the world really needs is more love and less paperwork.
— Pearl Bailey
大型的基础设施架构往往是真正的第一受害者。如果你正管理着许多机器, 那么使用 Puppet 的报告设施,可以为你提供一些关于正在发生什么的有价值的信息。
操作步骤
要启用报告,只要将如下的行加入客户端的 puppet.conf 文件:
report = true
工作原理
启用报告之后,Puppet 将在 Puppetmaster 上生成报告文件,包含如下的数据:
从 Puppetmaster 获取配置所需要的时间
Puppet 的总体运行时间
运行期间的日志消息输出
客户端配置清单中的所有资源列表
Puppet 是否改变了每个资源
一个资源是否与配置清单不同步
默认情况下,这些报告存储在 /var/lib/puppet/reports 目录下,你也可以使用 reportdir 参数指定到不同的位置。你可以创建自己的脚本处理这些报告 (这些报告都是标准的 YAML 格式),或者使用工具,例如 Puppet Dashboard 来获得您的网络图形概览。
更多用法
在下文中将解释从 Puppet 报告中收集信息的几个实用技巧。
从命令行启用报告
如果你只是想要一个报告,或者你不想让所有客户端都发送报告, 你可以切换到命令行,手动执行带有 --report 参数的命令:
# puppet agent --test --report
你还可以使用如下带有 --summarize 参数的命令看到关于 Puppet 的运行统计概要信息:
# puppet agent --test --summarize
info: Retrieving plugin
info: Caching catalog for cookbook.bitfieldconsulting.com
info: Applying configuration version '1306169315'
notice: Finished catalog run in 0.58 seconds
Changes:
Events:
Resources:
Total: 7
Time:
Config retrieval: 3.65
Filebucket: 0.00
Schedule: 0.00
将 Puppet 的信息记入系统日志
Puppet 也可以将日志信息发送到 Puppetmaster 的 系统日志(syslog), 因此你可以使用标准的 syslog 工具分析这些日志消息。 为了实现这一点,你可以在 Puppetmaster 的配置文件 puppet.conf 中添加如下所示的选项:
[master]
reports = store,log
默认的报告类型是 store (将报告输出到 /var/lib/puppet/reports), log 选项是告诉 Puppet 同时将消息发送到 syslog。
参见本书
本章的 创建图形化报告 一节
本章的 输出调试信息 一节
第 9 章的 使用 Puppet Dashboard 一节