ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 生成报告 > 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。 #### 参见本书 * 本章的 [创建图形化报告](#ch02sec03) 一节 * 本章的 [输出调试信息](#ch02sec11) 一节 * 第 9 章的 [使用 Puppet Dashboard](#ch09sec05) 一节