A Graphite Carbon impostor, sending metrics to Librato Metrics.
Ruby
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
config
lib
test
.gitignore
.travis.yml
Gemfile
MIT-LICENSE.txt
README.org
Rakefile
recognizer.gemspec
recognizer.gif

README.org

Welcome to Recognizer

A Graphite Carbon impostor, sending metrics to Librato Metrics.

TCP plain text & AMQP support.

https://secure.travis-ci.org/portertech/recognizer.png

https://github.com/portertech/recognizer/raw/master/recognizer.gif

Install

Executable Java JAR

wget http://portertech.s3.amazonaws.com/recognizer/recognizer.jar

Configure

Example: config.json

{
  "librato": {
    "email": "email@example.com",
    "api_key": "706325cf16d84d098127e143221dd180706325cf16d84d098127e143221dd180"
  },
  "amqp": {
    "host": "localhost"
  },
  "tcp": {
    "port": 2003
  }
}

Usage

Executable Java JAR

java -jar recognizer.jar -h

Usage: recognizer (options)
 -c, --config CONFIG              The config file path
 -h, --help                       Show this message

More

By default, Recognizer flushes metrics to Librato every 10 seconds

Set the interval to flush to Librato

{
  "librato": {
    "flush_interval": 5
By default, Recognizer uses recognizer as the metric source

Example metric path: production.i-424242.cpu.user

Extract the metric source from the metric path using a regular expression

{
  "librato": {
    "metric_source": "/i-.*/"

Or using an index

{
  "librato": {
    "metric_source": 1

Or set a static source

{
  "librato": {
    "metric_source": "example"
By default, The Recognizer TCP server uses 20 threads

Set the number of threads the TCP server uses

{
  "tcp": {
    "threads": 30
By default, The recognizer TCP server binds to 0.0.0.0

Make the TCP server listen only on local interface.

{
  "tcp": {
  "address": "127.0.0.1"
By default, Recognizer binds the AMQP queue recognizer to the topic exchange graphite with the routing key #

Use a custom AMQP exchange

{
  "amqp": {
    "exchange": {
      "name": "metrics",
      "type": "topic",
      "durable": true,
      "routing_key": "#"

License

Recognizer is released under the MIT license.