statsd

edit

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 ../tutorials/metrics-from-logs[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.

Example:

output {
 statsd {
  host => "statsd.example.org"
  count => {
   "http.bytes" => "%{bytes}"
  }
 }
}

 

Synopsis

edit

This plugin supports the following configuration options:

Required configuration options:

statsd {
}

Available configuration options:

Setting Input type Required Default value

codec

codec

No

"plain"

count

hash

No

{}

decrement

array

No

[]

gauge

hash

No

{}

host

string

No

"localhost"

increment

array

No

[]

namespace

string

No

"logstash"

port

number

No

8125

sample_rate

number

No

1

sender

string

No

"%{host}"

set

hash

No

{}

timing

hash

No

{}

workers

number

No

1

Details

edit

 

codec

edit
  • 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

edit
  • Value type is hash
  • Default value is {}

A count metric. metric_name => count as hash

debug (DEPRECATED)

edit
  • DEPRECATED WARNING: This configuration item is deprecated and may not be available in future versions.
  • Value type is boolean
  • Default value is false

Enable debugging.

decrement

edit
  • Value type is array
  • Default value is []

A decrement metric. Metric names as array.

gauge

edit
  • Value type is hash
  • Default value is {}

A gauge metric. metric_name => gauge as hash.

host

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

The address of the statsd server.

increment

edit
  • Value type is array
  • Default value is []

An increment metric. Metric names as array.

namespace

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

The statsd namespace to use for this metric.

port

edit
  • Value type is number
  • Default value is 8125

The port to connect to on your statsd server.

sample_rate

edit
  • Value type is number
  • Default value is 1

The sample rate for the metric.

sender

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

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

set

edit
  • Value type is hash
  • Default value is {}

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

timing

edit
  • Value type is hash
  • Default value is {}

A timing metric. metric_name => duration as hash

workers

edit
  • 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.