fluent-plugin-dogstatsd
Fluend plugin for Dogstatsd, that is statsd server for Datadog.
Installation
$ gem install fluent-plugin-dogstatsd
Usage
$ echo '{"type": "increment", "key": "apache.requests", "tags": {"url": "/"}}' | fluent-cat dogstatsd.hello
$ echo '{"type": "histogram", "key": "apache.response_time", "value": 10.5, "tags": {"url": "/hello"}}' | fluent-cat dogstatsd.hello
$ echo '{"type": "event", "title": "Deploy", "text": "New revision"}' | fluent-cat dogstatsd.hello
Supported types are increment
, decrement
, count
, gauge
, histogram
, timing
, set
and event
.
Configuration
<match dogstatsd.*>
type dogstatsd
# Dogstatsd host
host localhost
# Dogstatsd port
port 8125
# Use tag of fluentd record as key sent to Dogstatsd
use_tag_as_key false
# (Treat fields in a record as tags)
# flat_tags true
# (Metric type in Datadog.)
# metric_type increment
# Default: "value"
# value_key Value
</match>
Example
Count log lines
<source>
type tail
path /tmp/sample.log
tag datadog.increment.sample
format ...
</source>
<match datadog.increment.*>
type dogstatsd
metric_type increment
flat_tags true
use_tag_as_key true
</match>
Histogram
<source>
type tail
path /tmp/sample.log
tag datadog.histogram.sample
format /^(?<value>[^ ]*) (?<host>[^ ]*)$/
</source>
<match datadog.histogram.*>
type dogstatsd
metric_type histogram
flat_tags true
use_tag_as_key true
</match>
MySQL threads
<source>
type mysql_query
tag datadog.histogram.mysql_threads
query SHOW VARIABLES LIKE 'Thread_%'
</source>
<match datadog.histogram.mysql_threads>
type dogstatsd
metric_type histogram
value_key Value
flat_tags true
use_tag_as_key true
</match>
Contributing
- Fork it ( https://github.com/ryotarai/fluent-plugin-dogstatsd/fork )
- Create your feature branch (
git checkout -b my-new-feature
) - Commit your changes (
git commit -am 'Add some feature'
) - Push to the branch (
git push origin my-new-feature
) - Create a new Pull Request