StatsD logo

StatsD

Simple daemon for easy stats aggregation
192
126
+ 1
27

What is StatsD?

StatsD is a front-end proxy for the Graphite/Carbon metrics server, originally written by Etsy's Erik Kastner. StatsD is a network daemon that runs on the Node.js platform and listens for statistics, like counters and timers, sent over UDP and sends aggregates to one or more pluggable backend services (e.g., Graphite).
StatsD is a tool in the Monitoring Tools category of a tech stack.
StatsD is an open source tool with 14.6K GitHub stars and 1.9K GitHub forks. Here’s a link to StatsD's open source repository on GitHub

Who uses StatsD?

Companies
79 companies reportedly use StatsD in their tech stacks, including Lyft, Kickstarter, and Sauce Labs.

Developers
92 developers on StackShare have stated that they use StatsD.

StatsD Integrations

Datadog, Hosted Graphite, OpsDash, Traefik, and Wavefront are some of the popular tools that integrate with StatsD. Here's a list of all 8 tools that integrate with StatsD.

Why developers like StatsD?

Here’s a list of reasons why companies and developers use StatsD
StatsD Reviews

Here are some stack decisions, common use cases and reviews by companies and developers who chose StatsD in their tech stack.

Łukasz Korecki
Łukasz Korecki
CTO & Co-founder at EnjoyHQ · | 6 upvotes · 71.9K views
atEnjoyHQEnjoyHQ
collectd
collectd
Google Compute Engine
Google Compute Engine
StatsD
StatsD
Clojure
Clojure
Stackdriver
Stackdriver

We use collectd because of it's low footprint and great capabilities. We use it to monitor our Google Compute Engine machines. More interestingly we setup collectd as StatsD replacement - all our Clojure services push application-level metrics using our own metrics library and collectd pushes them to Stackdriver

See more
Sentry
Sentry
StatsD
StatsD
Graphite
Graphite
Grafana
Grafana
PagerDuty
PagerDuty
Amazon CloudWatch
Amazon CloudWatch

A huge part of our continuous deployment practices is to have granular alerting and monitoring across the platform. To do this, we run Sentry on-premise, inside our VPCs, for our event alerting, and we run an awesome observability and monitoring system consisting of StatsD, Graphite and Grafana. We have dashboards using this system to monitor our core subsystems so that we can know the health of any given subsystem at any moment. This system ties into our PagerDuty rotation, as well as alerts from some of our Amazon CloudWatch alarms (we’re looking to migrate all of these to our internal monitoring system soon).

See more
StackShare Editors
StackShare Editors
| 5 upvotes · 30.9K views
atUber TechnologiesUber Technologies
nginx
nginx
StatsD
StatsD
HAProxy
HAProxy

The frontline API is proxied through a HAProxy load balancer with NGINX as the fronted, which also handles SSL termination. This frontline API consist of 600 stateless endpoints that join together multiple services.

As part of the Marketplace stack, engineers in this area integrate with various other internal services, including logtron to log to disk and Kafka and uber-statsd-client, the Node.js client for statsd.

See more
StackShare Editors
StackShare Editors
Grafana
Grafana
StatsD
StatsD
Airflow
Airflow
PagerDuty
PagerDuty
Datadog
Datadog
Celery
Celery
AWS EC2
AWS EC2
Flask
Flask

Data science and engineering teams at Lyft maintain several big data pipelines that serve as the foundation for various types of analysis throughout the business.

Apache Airflow sits at the center of this big data infrastructure, allowing users to “programmatically author, schedule, and monitor data pipelines.” Airflow is an open source tool, and “Lyft is the very first Airflow adopter in production since the project was open sourced around three years ago.”

There are several key components of the architecture. A web UI allows users to view the status of their queries, along with an audit trail of any modifications the query. A metadata database stores things like job status and task instance status. A multi-process scheduler handles job requests, and triggers the executor to execute those tasks.

Airflow supports several executors, though Lyft uses CeleryExecutor to scale task execution in production. Airflow is deployed to three Amazon Auto Scaling Groups, with each associated with a celery queue.

Audit logs supplied to the web UI are powered by the existing Airflow audit logs as well as Flask signal.

Datadog, Statsd, Grafana, and PagerDuty are all used to monitor the Airflow system.

See more
Chris Hartwig
Chris Hartwig
Clan Of The Cloud · | 1 upvotes · 5.4K views
StatsD
StatsD

Business and system counters go through StatsD and are pushed to InfluxDB StatsD

See more

StatsD's Features

  • 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)
  • values: Each stat will have a value. How it is interpreted depends on modifiers. In general values should be integer.
  • flush: After the flush interval timeout (defined by config.flushInterval, default 10 seconds), stats are aggregated and sent to an upstream backend service.

StatsD Alternatives & Comparisons

What are some alternatives to StatsD?
collectd
collectd gathers statistics about the system it is running on and stores this information. Those statistics can then be used to find current performance bottlenecks (i.e. performance analysis) and predict future system load (i.e. capacity planning). Or if you just want pretty graphs of your private server and are fed up with some homegrown solution you're at the right place, too.
Prometheus
Prometheus is a systems and service monitoring system. It collects metrics from configured targets at given intervals, evaluates rule expressions, displays the results, and can trigger alerts if some condition is observed to be true.
InfluxDB
InfluxDB is a scalable datastore for metrics, events, and real-time analytics. It has a built-in HTTP API so you don't have to write any server side code to get up and running. InfluxDB is designed to be scalable, simple to install and manage, and fast to get data in and out.
Logstash
Logstash is a tool for managing events and logs. You can use it to collect logs, parse them, and store them for later use (like, for searching). If you store them in Elasticsearch, you can view and analyze them with Kibana.
Telegraf
It is an agent for collecting, processing, aggregating, and writing metrics. Design goals are to have a minimal memory footprint with a plugin system so that developers in the community can easily add support for collecting metrics.
See all alternatives

StatsD's Followers
126 developers follow StatsD to keep up with related blogs and decisions.
Fabio Fraga Machado
Simon Hardy-Francis
Hossein Taghi-Zadeh
3g0r
Leonardo Cestarolli
Yury Buldakov
Syed Ali
technotech_io
yogi4u
Mohamma76685757