A cookbook for a chef_handler that sends reports and exceptions to Logstash over a TCP input in native json_event format
The chef_handler cookbook.
This cookbook uses the following attributes to configure how it is installed.
node['chef_client']['handler']['logstash']['host']- The logstash server host.node['chef_client']['handler']['logstash']['port']- The logstash server port.
Optional attribute
node['chef_client']['handler']['logstash']['tags']- Any additional tags you want sent along with the event. This can save on filter usage down the pipelinenode['chef_client']['handler']['logstash']['timeout']- How long to attempt to connect and send before timing out the request.
Set the host and port properties on the node/environment and include the logstash_handler recipe.
On your logstash side, you'll need to create a TCP input like so:
input {
tcp {
type => "chef_handler"
format => "json_event"
port => "5959"
}
}
You can inspect the source for details on what the generated event looks like.
PLEASE NOTE
The changes neccessary to the json_event format in Logstash are only available in master.
Borrowed quite a bit from the graphite_handler cookbook here