Statsd module
The statsd module is a Metricbeat module which spawns a UDP server and listens for metrics in StatsD compatible format.
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.
Aggregated until flushed (values reset, except the moving average rates). - Histogram (h)
-
Time measurement, alias for timer.
Aggregated until flushed (values reset). - Set (s)
- Measurement which counts unique occurrences until flushed (value set to 0).
Example of tag styles supported by the statsd module:
<metric name>:<value>|<type>|@samplerate|#<k>:<v>,<k>:<v>
<metric name>,<k>=<v>,<k>=<v>:<value>|<type>|@samplerate
<metric name>;<k>=<v>;<k>=<v>:<value>|<type>|@samplerate
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.
It controls how long a metric is kept, not what it aggregates: counters, sets, timers and histograms report what was recorded since the previous flush. Timers and histograms that received no measurements are not reported for that flush. statsd.mappings- 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 jsonlabel[].attr, required when using named label placeholder: reference to the named label placeholder defined inmetriclabel[].field, required when using named label placeholder field name where to save the named label placeholder value from the template in the event json
The Statsd module supports the standard configuration options that are described in Modules. Here is an example configuration:
metricbeat.modules:
- module: statsd
host: "localhost"
port: "8125"
enabled: false
#ttl: "30s"
The following metricsets are available: