GitHunt
PO

portertech/recognizer

A Graphite Carbon impostor, sending metrics to Librato Metrics.

  • Welcome to Recognizer
    A Graphite Carbon impostor, sending metrics to [[https://metrics.librato.com/][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 [[https://github.com/portertech/recognizer/raw/master/MIT-LICENSE.txt][MIT license]].

Languages

Ruby100.0%

Contributors

MIT License
Created December 28, 2011
Updated November 8, 2025
portertech/recognizer | GitHunt