44

How do StatsD and CollectD relate?

  • Is StatsD and alternative to CollectD
  • Is StatsD used to aggregate metrics coming from CollectD (and possibly other tools)
  • something else entirely. If so what?
Gbrits
  • 683
  • 1
  • 7
  • 9

1 Answers1

36

They are different things.

CollectD is statistics collection daemon. It periodically polls various sources (the plugin collection is quite exhaustive) for metrics. It can receive metrics as well. CollectD is well versed in collecting metrics from the system, various popular services (web servers, database servers, etc), as well as custom application metrics (this requires applications to generate those metrics). CollectD can do more things as well, but this is probably beyond scope of this question.

StatsD is event counter/aggregation service. It receives per-event timings and calculates and generates aggregated values. It is built to count/aggregate custom applications metrics. It only requires the application to send events, without any need for aggregations.

CollectD supports StatsD as an input since version 5.4, so there is no need to run separate daemon: https://collectd.org/wiki/index.php/Plugin:StatsD

bryan kennedy
  • 1,641
  • 3
  • 16
  • 31
Teftin
  • 1,931
  • 17
  • 9
  • 2
    OK, so StatsD could be used to aggregate events from services which can then be fed to CollectD. (CollectD can then fed it to tools like Nagios and/or Graphite) But CollectD in itself has plugins to collect stats from services as well. So what differentiates using StatsD to do this instead of using a CollectD plugin? Just 2 different routes that accomplish the same thing? – Gbrits Jul 15 '13 at 11:45
  • 3
    (its not there yet) statsd plugin for collectd will eliminate need of having separate statsd daemon running. additionally, it will be just another input, so it will fit in with the rest of collectd functionality (like thresholding, notifications, outputs to graphite, riemann, etc) – Teftin Jul 15 '13 at 12:42
  • If using logstash, you still have to use statsd because there isn't a collectd output. You can run Bucky to handle both. – Engineer2021 Aug 20 '14 at 10:45
  • 1
    Using logstash- couldn't you could still forward to collectd using TCP output? – thinice Apr 07 '15 at 17:37
  • Actually, you'd use the statsd plugin in front of collectd and use the statsd output on logstash? – thinice Apr 07 '15 at 17:37