statsd

Milestone: 2

statsd is a network daemon for aggregating statistics, such as counters and timers, and shipping over UDP to backend services, such as Graphite or Datadog.

The most basic coverage of this plugin is that the ‘namespace’, ‘sender’, and ‘metric’ names are combined into the full metric path like so:

namespace.sender.metric

The general idea is that you send statsd count or latency data and every few seconds it will emit the aggregated values to the backend. Example aggregates are average, max, stddev, etc.

You can learn about statsd here:

A simple example usage of this is to count HTTP hits by response code; to learn more about that, check out the log metrics tutorial

The default final metric sent to statsd would look like this:

namespace.sender.metric

With regards to this plugin, the default namespace is “logstash”, the default sender is the ${host} field, and the metric name depends on what is set as the metric name in the increment, decrement, timing, count, set or gauge variable.

Synopsis

This is what it might look like in your config file:
output {
  statsd {
    codec => ... # codec (optional), default: "plain"
    count => ... # hash (optional), default: {}
    decrement => ... # array (optional), default: []
    gauge => ... # hash (optional), default: {}
    host => ... # string (optional), default: "localhost"
    increment => ... # array (optional), default: []
    namespace => ... # string (optional), default: "logstash"
    port => ... # number (optional), default: 8125
    sample_rate => ... # number (optional), default: 1
    sender => ... # string (optional), default: "%{host}"
    set => ... # hash (optional), default: {}
    timing => ... # hash (optional), default: {}
    workers => ... # number (optional), default: 1
  }
}

Details

codec

  • Value type is codec
  • Default value is "plain"

The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.

count

  • Value type is hash
  • Default value is {}

A count metric. metric_name => count as hash

debug DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is boolean
  • Default value is false

Enable debugging.

decrement

  • Value type is array
  • Default value is []

A decrement metric. Metric names as array.

exclude_tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • Value type is array
  • Default value is []

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

gauge

  • Value type is hash
  • Default value is {}

A gauge metric. metric_name => gauge as hash.

host

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

The address of the statsd server.

increment

  • Value type is array
  • Default value is []

An increment metric. Metric names as array.

namespace

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

The statsd namespace to use for this metric.

port

  • Value type is number
  • Default value is 8125

The port to connect to on your statsd server.

sample_rate

  • Value type is number
  • Default value is 1

The sample rate for the metric.

sender

  • Value type is string
  • Default value is "%{host}"

The name of the sender. Dots will be replaced with underscores.

set

  • Value type is hash
  • Default value is {}

A set metric. metric_name => "string" to append as hash

tags DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • 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.

timing

  • Value type is hash
  • Default value is {}

A timing metric. metric_name => duration as hash

type DEPRECATED

  • DEPRECATED WARNING: This config item is deprecated. It may be removed in a further version.
  • 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.

workers

  • Value type is number
  • Default value is 1

The number of workers to use for this output. Note that this setting may not be useful for all outputs.


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