Questions tagged [statsd]

A simple, lightweight network daemon to collect and aggregate metrics over UDP.

About

StatsD is developed by Etsy team and is written in node.js. It is a network daemon which listens on a predefined port for UDP packets that are send to it which describe different data metrics, aggregates them, and flushes the aggregated data through back end defined by the user.

The applications can feed any number of UDP packets in formats defined by statsD termed as buckets.

StatsD aggregates the data received over UDP and creates the result for the defined flush interval and sends it to the defined backend.

The default backend provided by statsD is graphite and it has options to choose the backend that may fit the application scenario.

Concepts

  1. buckets : Each stat is in its own "bucket". They are not predefined anywhere. Buckets can be named anything that will translate to Graphite (periods make folders, etc)
  2. values : Each stat will have a value. How it is interpreted depends on modifiers
  3. flush : After the flush interval timeout (default 10 seconds), stats are munged and sent over to Graphite or any other backend choosen.

Supported Backends

  1. Graphite (graphite): An open-source time-series data store that provides visualization through a web-browser.
  2. Console (console): Outputs the received metrics to stdout (see what's going on during development).
  3. Repeater (repeater): Utilizes the packet emit API to forward raw packets retrieved by StatsD to multiple backend StatsD instances.
  4. More options available as separate packges can be found here

Open Source

fork StatsD from here: http://github.com/etsy/statsd

323 questions
70
votes
5 answers

Why use statsd when graphite's Carbon aggregator can do the same job?

I have been exploring the Graphite graphing tool for showing metrics from multiple servers, and it seems that the 'recommended' way is to send all metrics data to StatsD first. StatsD aggregates the data and sends it to graphite (or rather,…
talonx
  • 1,762
  • 1
  • 15
  • 33
21
votes
2 answers

Tracking metrics using StatsD (via etsy) and Graphite, graphite graph doesn't seem to be graphing all the data

We have a metric that we increment every time a user performs a certain action on our website, but the graphs don't seem to be accurate. So going off this hunch, we invested the updates.log of carbon and discovered that the action had happened over…
Jim Rubenstein
  • 6,836
  • 4
  • 36
  • 54
20
votes
3 answers

Which StatsD client should I use for a java/grails project?

I'm looking at adding StatsD data collection to my grails application and looking around at existing libraries and code has left me a little confused as to what would be a good scalable solution. To put the question into context a little I'm working…
Sharebear
  • 384
  • 2
  • 9
19
votes
1 answer

Getting accurate graphite stats_counts

We have etsy/statsd node application running that flushes stats to carbon/whisper every 10 seconds. If you send 100 increments (counts), in the first 10 seconds, graphite displays them properly,…
AJP
  • 26,547
  • 23
  • 88
  • 127
16
votes
4 answers

Is there any way to fill in missing data in graphite when using statsD?

I'm using statsD to report counter data to graphite; sends a tick everytime I get a message. This works great, except in the situation when statsD has to restart for whatever reason. Then I get huge holes in my graphs, since statsD is now no longer…
BigBen
  • 1,162
  • 2
  • 11
  • 22
15
votes
3 answers

Graph old data using graphite and statsd

Can I enter timestamp to send data to graphite via statsd(javascript statsd)? I need to graph old data.
avni goyal
  • 171
  • 1
  • 5
14
votes
1 answer

Statsd & Graphite - get data as CSV

I use statsd for measuring stats and Graphite for displaying these. Anyway, I would like to do a more sophisticated analysis in statistical software, to find out the relations between various variables. In order to do this, I need the "raw" data,…
Pavel S.
  • 11,892
  • 18
  • 75
  • 113
14
votes
2 answers

Can writing to a UDP socket ever block?

And if so, under what conditions? Or, phrased alternately, is it safe to run this code inside of twisted: class StatsdClient(AbstractStatsdClient): def __init__(self, host, port): super(StatsdClient, self).__init__() self.addr = (host,…
Alex Gaynor
  • 14,353
  • 9
  • 63
  • 113
12
votes
1 answer

Datadog: Use a tag value in an alias

I have a timeseries graph in a time board that displays data for one metric that has multiple tags called "page". The graph has one line for each tag and I'm running functions on the values, so the query for my data is…
AndrewTet
  • 1,172
  • 8
  • 20
12
votes
2 answers

install graphite +statsd ....getting error unknown carbon-cache

I am following these instructions(https://www.digitalocean.com/community/tutorials/how-to-install-and-use-graphite-on-an-ubuntu-14-04-server) to install statsd and graphite, but am running into below stated problem. Seems like this is not a…
user2574872
  • 945
  • 2
  • 11
  • 23
11
votes
1 answer

Why do we need telegraf when using statsd

I see the combination statsd + telegraf + influxdb used all the time. Statsd collects, aggregates and forwards metrics Telegraf aggregates and forwards metrics Why not use just the statsd (without telegraf) to aggregate and forward metrics? What…
andree
  • 3,084
  • 9
  • 34
  • 42
11
votes
1 answer

StatsD/Graphite Naming Conventions for Metrics

I'm beginning the process of instrumenting a web application, and using StatsD to gather as many relevant metrics as possible. For instance, here are a few examples of the high-level metric names I'm currently…
Jared Hanson
  • 15,940
  • 5
  • 48
  • 45
10
votes
4 answers

datadog agent not reachable from inside docker container

I installed dd-agent on Amazon linux ec2. If I run my python script directly on the host machine (I used the SDK named "dogstatsd-python"), all the metrics can be sent to datadog (I logged in to datadoghq.com and saw the metrics there). the script…
sheny35
  • 181
  • 3
  • 9
10
votes
1 answer

Kibana 3 Milestone 4 and Graphite Integration

I am having difficulties understanding integration of Graphite and Kibana 3 to monitor logs and system vitals. I am referring to figure in Log management system described here. Considering the new features in Kibana 3 Milestone 4, can we collect…
Vamsi Krishna
  • 475
  • 3
  • 9
  • 22
10
votes
1 answer

How does StatsD store its data?

I've been going through the README at https://github.com/etsy/statsd but I can't figure out how does StatsD store the data it gets? Does it do any permanent storage or is it one off thing? I was trying to figure out what database (if any) it uses or…
MechaStorm
  • 1,432
  • 3
  • 17
  • 29
1
2 3
21 22