metriccatcher

edit
  • Version: 3.0.0
  • Released on: 2016-09-10
  • Changelog
  • Compatible: 5.1.1.1, 5.0.0, 2.4.1, 2.4.0, 2.3.4

This plugin does not ship with Logstash by default, but it is easy to install by running bin/logstash-plugin install logstash-output-metriccatcher.

This output ships metrics to MetricCatcher, allowing you to utilize Coda Hale’s Metrics.

More info on MetricCatcher: https://github.com/clearspring/MetricCatcher

At Clearspring, we use it to count the response codes from Apache logs:

    metriccatcher {
        host => "localhost"
        port => "1420"
        type => "apache-access"
        fields => [ "response" ]
        meter => {
            "%{host}.apache.response.%{response}" => "1"
            }
    }

 

Synopsis

edit

This plugin supports the following configuration options:

Required configuration options:

metriccatcher {
}

Available configuration options:

Setting Input type Required Default value

biased

hash

No

codec

codec

No

"plain"

counter

hash

No

enable_metric

boolean

No

true

gauge

hash

No

host

string

No

"localhost"

id

string

No

meter

hash

No

port

number

No

1420

timer

hash

No

uniform

hash

No

workers

<<,>>

No

1

Details

edit

 

biased

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value.

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

codec

edit
  • Value type is codec
  • Default value is "plain"

The codec used for output data. Output codecs are a convenient method for encoding your data before it leaves the output, without needing a separate filter in your Logstash pipeline.

counter

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value. Example:

  counter => { "%{host}.apache.hits.%{response} => "1" }

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

enable_metric

edit
  • Value type is boolean
  • Default value is true

Disable or enable metric logging for this specific plugin instance by default we record all the metrics we can, but you can disable metrics collection for a specific plugin.

gauge

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value.

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

host

edit
  • Value type is string
  • Default value is "localhost"

The address of the MetricCatcher

  • Value type is string
  • There is no default value for this setting.

Add a unique ID to the plugin instance, this ID is used for tracking information for a specific configuration of the plugin.

output {
 stdout {
   id => "ABC"
 }
}

If you don’t explicitely set this variable Logstash will generate a unique name.

meter

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value.

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

port

edit
  • Value type is number
  • Default value is 1420

The port to connect on your MetricCatcher

timer

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value. Example:

  timer => { "%{host}.apache.response_time => "%{response_time}" }

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

uniform

edit
  • Value type is hash
  • There is no default value for this setting.

The metrics to send. This supports dynamic strings like %{host} for metric names and also for values. This is a hash field with key of the metric name, value of the metric value.

The value will be coerced to a floating point value. Values which cannot be coerced will zero (0)

workers

edit
  • Value type is string
  • Default value is 1

TODO remove this in Logstash 6.0 when we no longer support the :legacy type This is hacky, but it can only be herne