我对 Puppet 还比较陌生,最近继承了一个非常大的基础设施(许多 RHEL 6 机器上的 Puppet 3.6)。
我的 Puppet 基础设施看起来有点像这样:
我有 my_module::mysql,它可以安装和配置 MySQL(基于从 Dashboard 或包含它的其他类传递给它的参数)。除其他许多功能外,它还设置日志文件的位置。(还有许多其他类似的类,有时此类可能在同一节点上以几种不同的方式调用。)
我现在有 my_module::flume,它可以安装并配置 Apache Flume,以便我可以将一些日志发送到其他地方。
我的问题:我需要 my_module::flume 知道 my_module::mysql 的每个实例将其日志文件放在哪里,这样它就可以将这些文件添加到 Flume 配置文件中。
最好的方法是什么?我想能够添加某种资源(全局变量或文件),每个类都可以添加文件路径,因此 my_module::flume 可以遍历列表并将每个路径添加到配置文件,但我不确定如何做到这一点,同时仍确保:
-每次 Puppet 运行时,日志文件列表都会重新开始(例如,不再存在的日志文件不会出现在列表中。)
-仅当所有其他类都将路径添加到列表中后,才会评估 Flume 类。
任何意见都将受到赞赏。