Statsd module

edit

The statsd module is a Metricbeat module which spawns a UDP server and listens for metrics in StatsD compatible format.

Metric types

edit

The module supports the following types of metrics:

Counter (c)
Measurement which accumulates over period of time until flushed (value set to 0).
Gauge (g)
Measurement which can increase, decrease or be set to a value.
Timer (ms)
Time measurement (in milliseconds) of an event.
Histogram (h)
Time measurement, alias for timer.
Set (s)
Measurement which counts unique occurrences until flushed (value set to 0).

Supported tag extensions

edit

Example of tag styles supported by the statsd module:

DogStatsD

<metric name>:<value>|<type>|@samplerate|#<k>:<v>,<k>:<v>

InfluxDB

<metric name>,<k>=<v>,<k>=<v>:<value>|<type>|@samplerate

Graphite_1.1.x

<metric name>;<k>=<v>;<k>=<v>:<value>|<type>|@samplerate

Module-specific configuration notes

edit

The statsd module has these additional config options:

ttl
It defines how long a metric will be reported after it was last recorded. Irrespective of the given ttl, metrics will be reported at least once. A ttl of zero means metrics will never expire.
statsd.mapping
It defines how metrics will mapped from the original metric label to the event json. Here’s an example configuration:
statsd.mappings:
  - metric: 'ti_failures' 
    value:
      field: task_failures 
  - metric: '<job_name>_start' 
    labels:
      - attr: job_name 
        field: job_name 
    value:
      field: started 

metric, required: the label key of the metric in statsd, either as a exact match string or as a template with named label placeholder in the format <label_placeholder>

value.field, required: field name where to save the metric value in the event json

label[].attr, required when using named label placeholder: reference to the named label placeholder defined in metric

label[].field, required when using named label placeholder field name where to save the named label placeholder value from the template in the event json