A Chef handler that reports to Graylog2 servers.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.
lib/chef gelf: Fix sanitised_changes method Dec 14, 2011
.gitignore Initial commit Jul 6, 2011
Gemfile Initial commit Jul 6, 2011
README.rdoc First release Jul 6, 2011
Rakefile Initial commit Jul 6, 2011
chef-gelf.gemspec First release Jul 6, 2011



Provides a Chef handler which can report run status, including any changes that were made, to a Graylog2 server. In the case of failed runs a backtrace will be included in the details reported.


  • A Graylog2 server running somewhere.


This example makes of the chef_handler cookbook, place some thing like this in cookbooks/chef_handler/recipes/gelf.rb and add it to your run list. It also assumes your Graylog2 server has set the attribute rsyslog_server to true.

log_server = search(:node, "rsyslog_server:true").first

if log_server
  include_recipe "chef_handler::default"

  gem_package "chef-gelf" do
    action :nothing

  # Make sure the newly installed Gem is loaded.
  require 'chef/gelf'

  chef_handler "Chef::GELF::Handler" do
    source "chef/gelf"
      :server => log_server['fqdn']

    supports :exception => true, :report => true

Arguments take the form of an options hash, with the following options:

  • :server - The server to send messages to.

  • :port (12201) - The port to send on.

  • :facility (chef-client) - The facility to report under.

  • :host (node.fqdn) - The host to report messages as coming from.

  • :blacklist ({}) - A hash of cookbooks, resources and actions to ignore in the change list.


Some resources report themselves as having updated on every run even if nothing changed, or are just things you don't care about. To reduce the amount of noise in your logs these can be ignored by providing a blacklist. In this example we don't want to be told about the GELF handler being activated:

chef_handler "Chef::GELF::Handler" do
  source "chef/gelf"
    :server => log_server['fqdn'],
    :blacklist => {
      "chef_handler" => {
        "chef_handler" => [ "nothing", "enable" ]

  supports :exception => true, :report => true



Jon Wood (<jon@blankpad.net>)


2011, Blank Pad Development

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at


Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.