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
6
votes
1 answer

How to change the x axis in Graphite/Grafana (to graph by day)?

I would like to have a bar graph in graphite/grafana that has a single bar per day, over the week. Ideally we would have the days of the week (Monday,Tuesday...etc) on the x axis labels, and then seven bars in the graph, one for each day of the…
user3037691
  • 135
  • 1
  • 3
  • 9
6
votes
1 answer

Having trouble getting accurate numbers from graphite

I have an application that publishes a number of stats to graphite via statsd. One of the stats simply sends a stat increment to statsd every time a message is received by the service. I need to display a graph that shows the the relative traffic…
RockyMountainHigh
  • 2,871
  • 5
  • 34
  • 68
5
votes
0 answers

Error: No response from Gunicorn master within 120 seconds . Shutting down webserver. Airflow-Webserver Service won't start

I want to monitor my airflow worker logs with the help of Prometheus. So I looked up on the internet and found statsd-exporter can help me. But, when I added the required configuration of statsd-exporter in Airflow.cfg , Service wont…
dataintransit
  • 174
  • 1
  • 7
5
votes
1 answer

Airflow sends metrics by statsd but not all of them

Recently I have updated my airflow.cfg to enable metrics thought Statsd. I have injected this settings to airflow.cfg: I'm injecting this…
Michael
  • 129
  • 2
  • 10
5
votes
2 answers

Is there a way to report custom DataDog metrics from AWS Lambda?

I'm looking to report custom metrics from Lambda functions to Datadog. I need things like counters, gauges, histograms. Datadog documentation outlines two options for reporting metrics from AWS Lambda: print a line into the log use the API The…
5
votes
0 answers

Rails require statements in environment config files

In my config\environments\development.rb and config\environments\production.rb files, I set some global variables. In the example below, I have a a Redis instance that points to our cache, and a Statsd instance that points to the DataDog…
readyornot
  • 2,783
  • 2
  • 19
  • 31
5
votes
3 answers

Graphing unique count of node in Graphite metric over time

Given StatsD/Graphite data points that look like this stats.counters.post.topic_1.user_1.count stats.counters.post.topic_1.user_2.count stats.counters.post.topic_2.user_3.count stats.counters.post.topic_2.user_4.count I'm trying to chart 3…
RyanW
  • 5,338
  • 4
  • 46
  • 58
5
votes
2 answers

Email alert after threshold crossed, logstash?

I am using logstash, elasticsearch and kibana to analyze my logs. I am alerting via email when a particular string comes into the log via email output in logstash: email { match => [ "Session Detected", "logline,*Session closed*"…
Siddharth Trikha
  • 2,648
  • 8
  • 57
  • 101
5
votes
1 answer

Aggregate data from different instances

I have a question regarding Graphite, which I'm using with statsD in node.js. I have a server that I'm, going to run several instances of, and I would like to aggregate statistics like the following among all instances: Mean response time Number…
codealot
  • 53
  • 5
5
votes
3 answers

How to configure StatsD and Graphite to run on different servers

I have looked all over for this but have not found anyone talking about how to setup and configure StatsD and Graphite to communicate on separate servers. I currently have everything running on one but I have attempted unsuccessfully to separate…
user1753719
  • 61
  • 1
  • 3
4
votes
1 answer

Setup statsd-exporter as daemon on Kubernetes and send metrics to it from pods

I want to setup statsd-exporter as DaemonSet on my Kubernetes cluster. It exposes a UDP port 9125, on which applications can send metrics using statsD client library. Prometheus crawlers can crawl this exporter for application or system metrics. I…
Abhishek
  • 2,543
  • 4
  • 34
  • 46
4
votes
1 answer

Envoy and statsd Error: node 'id' and 'cluster' id are required

I am trying to configure stats sink to collect stats into statsd. I have configured the envoy.yaml as follows: admin: access_log_path: /logs/envoy_access.log address: socket_address: protocol: TCP address: 0.0.0.0 …
coder_bro
  • 10,503
  • 13
  • 56
  • 88
4
votes
2 answers

Custom metrics using the CloudWatch agent with the StatsD protocol

I have a web application running in EC2 instance. It has different API endpoints. I want to count the number of times each API is called. The web application is in Java. Can anyone suggest to me some articles where I can find proper Java…
4
votes
1 answer

Easiest way to rename a metric in datadog?

I'm using a statsd.timed to send some time metrics to datadog. These metrics are being used in a few Datadog dashboards. Changing the metric name being sent is straightforward and can be done by updating the name of the metric in the statsd.timed…
Pranjal Mittal
  • 10,772
  • 18
  • 74
  • 99
4
votes
1 answer

What is the fabric2 alternative for Fabric1 env.hosts and env.hosts_name

In my code I wish to have a list of hosts and send a different parameter to each host. Currently I find the index in the array and use that to determine the input index = env.hosts.index(env.host_name) Hosts and host_name is no longer used in…
RonanMacF
  • 309
  • 2
  • 9
1 2
3
21 22