StatsD supports pluggable backend modules that can publish statistics from the local StatsD daemon to a backend service or data store. Backend services can retain statistics in a time series data store, visualize statistics in graphs or tables, or generate alerts based on defined thresholds. A backend can also correlate statistics sent from StatsD daemons running across multiple hosts in an infrastructure.
StatsD includes the following built-in backends:
- Graphite (
graphite): An open-source time-series data store that provides visualization through a web-browser.
- Console (
console): Outputs the received metrics to stdout (see what's going on during development).
- Repeater (
repeater): Utilizes the
packetemit API to forward raw packets retrieved by StatsD to multiple backend StatsD instances.
By default, the
graphite backend will be loaded automatically. Multiple
backends can be run at once. To select which backends are loaded, set
backends configuration variable to the list of backend modules to load.
Backends are just npm modules which implement the interface described in
section Backend Interface. In order to be able to load the backend, add the
module name into the
backends variable in your config. As the name is also
used in the
require directive, you can load one of the provided backends by
giving the relative path (e.g.
A robust set of are also available as plugins to allow easy reporting into databases, queues and third-party services.
Available Third-party backends
- hosted graphite backend
- influxdb backend
- instrumental backend
- leftronic backend
- monitis backend
- mysql backend
- netuitive backend
- opentsdb backend
- stackdriver backend
- statsd http backend
- statsd aggregation backend