Gian Merlino d007477742
Docusaurus build framework + ingestion doc refresh. (#8311)
* Docusaurus build framework + ingestion doc refresh.

* stick to npm instead of yarn

* fix typos

* restore some _bin

* Adjustments.

* detect and fix redirect anchors

* update anchor lint

* Web-console: remove specific column filters (#8343)

* add clear filter

* update tool kit

* remove usless check

* auto run

* add %

* Fix resource leak (#8337)

* Fix resource leak

* Patch comments

* Enable Spotbugs NP_NONNULL_RETURN_VIOLATION (#8234)

* Fixes from PR review.

* Fix more anchors.

* Preamble nix.

* Fix more anchors, headers

* clean up placeholder page

* add to website lint to travis config

* better broken link checking

* travis fix

* Fixed more broken links

* better redirects

* unfancy catch

* fix LGTM error

* link fixes

* fix md issues

* Addl fixes
2019-08-20 21:48:59 -07:00

4.1 KiB

id title
statsd StatsD Emitter

To use this Apache Druid (incubating) extension, make sure to include statsd-emitter extension.

Introduction

This extension emits druid metrics to a StatsD server. (https://github.com/etsy/statsd) (https://github.com/armon/statsite)

Configuration

All the configuration parameters for the StatsD emitter are under druid.emitter.statsd.

property description required? default
druid.emitter.statsd.hostname The hostname of the StatsD server. yes none
druid.emitter.statsd.port The port of the StatsD server. yes none
druid.emitter.statsd.prefix Optional metric name prefix. no ""
druid.emitter.statsd.separator Metric name separator no .
druid.emitter.statsd.includeHost Flag to include the hostname as part of the metric name. no false
druid.emitter.statsd.dimensionMapPath JSON file defining the StatsD type, and desired dimensions for every Druid metric no Default mapping provided. See below.
druid.emitter.statsd.blankHolder The blank character replacement as statsD does not support path with blank character no "-"
druid.emitter.statsd.dogstatsd Flag to enable DogStatsD support. Causes dimensions to be included as tags, not as a part of the metric name. convertRange fields will be ignored. no false
druid.emitter.statsd.dogstatsdConstantTags If druid.emitter.statsd.dogstatsd is true, the tags in the JSON list of strings will be sent with every event. no []
druid.emitter.statsd.dogstatsdServiceAsTag If druid.emitter.statsd.dogstatsd and druid.emitter.statsd.dogstatsdServiceAsTag are true, druid service (e.g. druid/broker, druid/coordinator, etc) is reported as a tag (e.g. service:druid/broker) instead of being included in metric name (e.g. druid.broker.my_metric) and druid is used as metric prefix (e.g. druid.query.time). no false

Druid to StatsD Event Converter

Each metric sent to StatsD must specify a type, one of [timer, counter, guage]. StatsD Emitter expects this mapping to be provided as a JSON file. Additionally, this mapping specifies which dimensions should be included for each metric. StatsD expects that metric values be integers. Druid emits some metrics with values between the range 0 and 1. To accommodate these metrics they are converted into the range 0 to 100. This conversion can be enabled by setting the optional "convertRange" field true in the JSON mapping file. If the user does not specify their own JSON file, a default mapping is used. All metrics are expected to be mapped. Metrics which are not mapped will log an error. StatsD metric path is organized using the following schema: <druid metric name> : { "dimensions" : <dimension list>, "type" : <StatsD type>, "convertRange" : true/false} e.g. query/time" : { "dimensions" : ["dataSource", "type"], "type" : "timer"}

For metrics which are emitted from multiple services with different dimensions, the metric name is prefixed with the service name. e.g. "coordinator-segment/count" : { "dimensions" : ["dataSource"], "type" : "gauge" }, "historical-segment/count" : { "dimensions" : ["dataSource", "tier", "priority"], "type" : "gauge" }

For most use-cases, the default mapping is sufficient.