Как соотносятся StatsD и CollectD?

40

Как соотносятся StatsD и CollectD?

  • Есть StatsD и альтернатива CollectD
  • Используется ли StatsD для агрегирования метрик, поступающих из CollectD (и, возможно, других инструментов)
  • что-то еще целиком. Если так, то?
Gbrits
источник
1
Если это кому-нибудь поможет, я нашел это полезным - anomaly.io/statsd-in-collectd
Кумар

Ответы:

33

Это разные вещи.

CollectD - это демон сбора статистики. Он периодически опрашивает различные источники (коллекция плагинов довольно исчерпывающая) для метрик. Он также может получать метрики. CollectD хорошо разбирается в сборе метрик из системы, различных популярных сервисов (веб-серверов, серверов баз данных и т. Д.), А также пользовательских метрик приложений (для этого нужны приложения, чтобы генерировать эти метрики). CollectD также может делать больше, но это, вероятно, выходит за рамки этого вопроса.

StatsD - это счетчик событий / служба агрегации. Он получает тайминги для каждого события, а также рассчитывает и генерирует агрегированные значения. Он построен для подсчета / агрегирования пользовательских метрик приложений. Требуется только, чтобы приложение отправляло события, без необходимости агрегирования.

CollectD поддерживает StatsD в качестве входных данных начиная с версии 5.4, поэтому нет необходимости запускать отдельный демон: https://collectd.org/wiki/index.php/Plugin:StatsD

Teftin
источник
2
Итак, StatsD может использоваться для агрегирования событий от сервисов, которые затем могут быть переданы в CollectD. (CollectD может затем направить его на такие инструменты, как Nagios и / или Graphite). Но CollectD сам по себе имеет плагины для сбора статистики по сервисам. Так что же отличает использование StatsD для этого вместо использования плагина CollectD? Просто 2 разных маршрута, которые выполняют одно и то же?
Гбритс
3
(его еще нет) Плагин statsd для collectd избавит от необходимости запускать отдельный демон statsd. Кроме того, это будет просто еще один вход, поэтому он будет соответствовать остальной функциональности собираемых данных (например, пороговое значение, уведомления, выходные данные в графит, Риман и т. д.)
Teftin
Если вы используете logstash, вам все равно придется использовать statsd, потому что нет вывода команды collectd. Вы можете запустить Баки, чтобы справиться с обоими.
Брайан
1
Используя logstash - разве вы не могли бы переслать коллекцию с использованием TCP-вывода?
худенький
На самом деле, вы бы использовали плагин statsd перед collectd и использовали бы вывод statsd на logstash?
худенький