获取 Puppet 状态变化的每日摘要

获取 Puppet 状态变化的每日摘要

我目前正在学习在主代理配置中使用 Puppet v.6(我使用的是开源版本)。我有 Ansible 和 SaltStack 背景,因此尽管有些概念很熟悉,但其他一些概念却非常 Puppet 独有。

其中一个概念是如何获取快照报告以跟踪每日的状态变化。基本上,我在主清单中以 的身份运行几个任务noop => "true"

我注意到 Puppet 代理每 30 分钟/1 小时从主服务器下载并运行目录,并last_run_report.yaml在本地转储文件。好的,没问题,假设我可以忍受在每个代理上管理一个文件(理想情况下,我更喜欢一个摘要 a-la Salt Stack,可以从主服务器进行分析)。

我如何才能轻松地解析所有这些文件,以便轻松知道哪些节点已偏离主节点的主清单?例如,用户更改了/etc/hosts其中一个节点的文件,等等?

我的问题是,我是否想重新发明轮子,或者是否有更好的推荐解决方案?

答案1

我决定解决这个问题的方法是:我相信这是一个很常见的情况:

  1. 在编排新代理时,使用以下方式强制执行主代理的清单状态:puppet agent -t
  2. /etc/puppet.conf通过相应调整确保 puppet 代理服务不会自动运行
  3. 使用选项将 puppet 代理作为 puppet cron 或 Linux/Windows cronjob 运行,--noop并使其通过电子邮件发送每日报告/opt/puppetlabs/puppet/cache/state/last_run_report.yaml

相关内容