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.

  1. Install the kestrel-client gem on your Puppet master

    $ sudo gem install kestrel-client
    
  2. Install puppet-kestrel as a module in your Puppet master’s module path.

  3. Update the kestrel_server, kestrel_port, and kestrel_queue variables in the kestrel.yaml file with your kestrel server host, port and queue. Then copy the file to /etc/puppet/. An example file is included.

  4. Enable pluginsync and reports on your master and clients in puppet.conf

    [master]
    report = true
    reports = kestrel
    pluginsync = true
    [agent]
    report = true
    pluginsync = true
    
  5. 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.

comments powered by Disqus