graphite

Status: beta

This output allows you to pull metrics from your logs and ship them to graphite. Graphite is an open source tool for storing and graphing metrics.

An example use case: At loggly, some of our applications emit aggregated stats in the logs every 10 seconds. Using the grok filter and this output, I can capture the metric values from the logs and emit them to graphite.

Synopsis

This is what it might look like in your config file:
output {
  graphite {
    exclude_tags => ... # array (optional), default: []
    fields => ... # array (optional), default: []
    host => ... # string (optional), default: "localhost"
    metrics => ... # hash (required)
    port => ... # number (optional), default: 2003
    tags => ... # array (optional), default: []
    type => ... # string (optional), default: ""
  }
}

Details

exclude_tags

  • Value type is array
  • Default value is []

Only handle events without any of these tags. Note this check is additional to type and tags.

fields

  • Value type is array
  • Default value is []

Only handle events with all of these fields. Optional.

host

  • Value type is string
  • Default value is "localhost"

The address of the graphite server.

metrics (required setting)

  • Value type is hash
  • There is no default value for this setting.

The metric(s) to use. This supports dynamic strings like %{@source_host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value. Example:

[ "%{@source_host}/uptime", %{uptime_1m} " ]

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

port

  • Value type is number
  • Default value is 2003

The port to connect on your graphite server.

tags

  • Value type is array
  • Default value is []

Only handle events with all of these tags. Note that if you specify a type, the event must also match that type. Optional.

type

  • Value type is string
  • Default value is ""

The type to act on. If a type is given, then this output will only act on messages with the same type. See any input plugin's "type" attribute for more. Optional.


This is documentation from lib/logstash/outputs/graphite.rb