I see the combination statsd + telegraf + influxdb used all the time.
Why not use just the statsd (without telegraf) to aggregate and forward metrics? What is the added benefit of including telegraf?
Why use Telegraf? Telegraf is a server-based agent for collecting and sending all metrics and events from databases, systems, and IoT sensors. Written in Go, it compiles into a single binary with no external dependencies, and requires a minimal memory footprint.
StatsD allows you to capture different types of metrics depending on your needs: today those are Gauges, Counters, Timing Summary Statistics, and Sets. This can be as simple as adding a decorator to methods you want to time, or a one-liner to track a gauge value.
StatsD is a standard and, by extension, a set of tools that can be used to send, collect, and aggregate custom metrics from any application. Originally, StatsD referred to a daemon written by Etsy in Node.
Telegraf metrics are the internal representation used to model data during processing. These metrics are closely based on InfluxDB's data model and contain four main components: Measurement name: Description and namespace for the metric. Tags: Key/Value string pairs and usually used to identify the metric.
The last update to Etsy's statsd project was in 2016. One advantage of using telegraf is that it is an active project. Since telegraf has a Statsd plugin, it's possible that you don't need both.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With