Custom and Contributed Data Collectors

Below are examples of collection agents that work with Metrics and language bingings. Over time we will be adding more collection agents to the list. We hope that there will be many contributions from our community as well, so if you build a collector please consider sharing it with others!

Collection Agents:

StatsD

A network daemon for aggregating statistics (counters and timers), rolling them up, then sending them to Metrics:
https://github.com/librato/statsd
Contributed by Librato

A great way to get started with StatsD (if you have a Rack app) is to use this tiny middleware for monitoring Rack apps in production: RackStatsD
https://github.com/github/rack-statsd
Contributed by Rick (technoweenie)

eStatsD

Erlang stats aggregation app that periodically flushes data to a graphing system of your choice, e.g. Graphite or Librato Metrics.
https://github.com/wooga/estatsd/
Contributed by Johannes Huning

Collectd

A Python plugin for the Collectd systems monitoring daemon is available here. This plugin will push all of your collectd metrics to Librato Metrics. See the KB article for additional information.
https://github.com/librato/collectd-librato
Contributed by Librato

Sensu: Send Graphite metrics to Metrics

A Carbon AMQP impostor, sending Graphite metrics to Librato Metrics.
https://github.com/portertech/recognizer
Contributed by Sean Porter to work with Sensu.

Metriks

An experiment in making a threadsafe, low impact library to measure aspects of your ruby.
https://github.com/eric/metriks 
Contributed by Eric Lindvall

Riemann

Riemann is a network event stream processor. It is designed for monitoring, analytics, and alerts for events from multiple services. Here's a slide on how to forward events to Metrics.
http://aphyr.github.com/riemann/ 
Created by Kyle Kingsbury

Fluentd

Fluentd event collector, Logs as JSON stream
https://github.com/treasure-data/fluent-plugin-librato-metrics

Librato metrics output plugin for Fluent event collector
http://rubygems.org/gems/fluent-plugin-librato-metrics 
Contributed by Sadayuki Furuhashi

Harness

Harness connects measurements coming from ActiveSupport::Notifications to external metric tracking services. Counters are stored locally with redis before being sent to the service. 
https://github.com/twinturbo/harness 
Contributed by Adam Hawkins

CURL

Simple bash wrapper around curl to submit a JSON file to Librato 
https://github.com/leto/Util/blob/master/bin/post_json_to_librato 
Contributed by Duke Leto 

Duke is using that script with many tiny perl scripts which generate JSON. You can write each script that generates JSON in any language you want.

Librato-Metrics-Memcached

Ruby gem to pull metrics from memcached servers and push them to Librato Metrics. 
http://rubygems.org/gems/librato-metrics-memcached 
Contributed by Librato

Metric collectors 

...for various things not (or poorly) handled by other monitoring daemons 
https://github.com/mk-fg/graphite-metrics 
Contributed by Mike Kazantsev

Graylog2

Log analytics. Send your message counts per stream, host and overall to Librato Metrics
https://github.com/Graylog2/graylog2-server/wiki/Librato-Metrics-output
Contributed by Lennart Koopmann

Language Bindings:

PHP Client

A PHP Client for sending data to librato metrics.
https://github.com/nesQuick/PHP-Metrics-Client
Contributed by nesQuick

Ruby Gem

Ruby gem for accessing Librato’s Metrics service:
http://rubygems.org/gems/librato-metrics
https://github.com/librato/librato-metrics
Contributed by Librato

  • Support for submit and fetch
  • collated submission through ‘queue’
  • benchmarking through ‘time’ + block

Python API Wrapper

Python Wrapper for the Librato Metrics API
http://pypi.python.org/pypi/librato/0.1
Contributed by Chris Moyer

Librato Metrics Python API fork
https://github.com/millarm/librato - to use it simply: pip install git+http://github.com/millarm/librato 
Contributed by millarm

Node.js

A node module for sending data to Metrics.
https://github.com/holidayextras/node-librato-metrics
Contributed by felixge

JMX

A collection of helper scripts and library routines to tap into external metric sources and pump those metrics into the Metrics Service. Example: A JMX Beans tap script that will connect to a JMX service and pull monitoring attributes from a configured set of MBeans:
https://github.com/librato/librato-metrics-taps
Contributed by Librato

Clojure

A Clojure library for interacting with Metrics:
https://github.com/gorsuch/clj-librato
Contributed by gorsuch

Go

A Go client for Metrics:
https://github.com/rcrowley/go-librato
Contributed by rcrowley

Knowledge Base and Helpdesk