Puppet and Kestrel
Kestrel is a neat little distributed message queue based on “starling” I’ve been playing with. Like all things I take a look at I added a Puppet report processor that sends logs from Puppet to Kestrel. The report processor is also on the Forge as a module.
It’s simple to install and use, all you need is Puppet and the kestrel-client gem.
-
Install the
kestrel-clientgem on your Puppet master$ sudo gem install kestrel-client -
Install puppet-kestrel as a module in your Puppet master’s module path.
-
Update the
kestrel_server,kestrel_port, andkestrel_queuevariables in thekestrel.yamlfile with your kestrel server host, port and queue. Then copy the file to/etc/puppet/. An example file is included. -
Enable pluginsync and reports on your master and clients in
puppet.conf[master]report = truereports = kestrelpluginsync = true[agent]report = truepluginsync = true -
Run the Puppet client and sync the report as a plugin
And hey presto you should be sending each log entry from a Puppet run onto a Kestrel queue.