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-clientgem on your Puppet master
$ sudo gem install kestrel-client
Install puppet-kestrel as a module in your Puppet master’s module path.
kestrel_queuevariables in the
kestrel.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
[master] report = true reports = kestrel pluginsync = true [agent] report = true pluginsync = 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.