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-client
gem 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_queue
variables in thekestrel.yaml
file 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 = 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.