Update graphite output dataf format docs

This commit is contained in:
Daniel Nelson 2018-05-21 16:39:33 -07:00
parent 301c77605b
commit 3c79b77afc
3 changed files with 33 additions and 54 deletions

View File

@ -58,8 +58,14 @@ interoperability.
## Graphite ## Graphite
The Graphite data format translates Telegraf metrics into _dot_ buckets. A The Graphite data format is translated from Telegraf Metrics using either the
template can be specified for the output of Telegraf metrics into Graphite template pattern or tag support method. You can select between the two
methods using the [`graphite_tag_support`](#graphite-tag-support) option. When set, the tag support
method is used, otherwise the [`template` pattern](#template-pattern) is used.
#### Template Pattern
The `template` option describes how Telegraf traslates metrics into _dot_
buckets. The default template is: buckets. The default template is:
``` ```
@ -77,7 +83,7 @@ tag keys are filled.
1. _measurement_ is a special keyword that outputs the measurement name. 1. _measurement_ is a special keyword that outputs the measurement name.
1. _field_ is a special keyword that outputs the field name. 1. _field_ is a special keyword that outputs the field name.
Which means the following influx metric -> graphite conversion would happen: **Example Conversion**:
``` ```
cpu,cpu=cpu-total,dc=us-east-1,host=tars usage_idle=98.09,usage_user=0.89 1455320660004257758 cpu,cpu=cpu-total,dc=us-east-1,host=tars usage_idle=98.09,usage_user=0.89 1455320660004257758
@ -89,8 +95,17 @@ tars.cpu-total.us-east-1.cpu.usage_idle 98.09 1455320690
Fields with string values will be skipped. Boolean fields will be converted Fields with string values will be skipped. Boolean fields will be converted
to 1 (true) or 0 (false). to 1 (true) or 0 (false).
With enable `graphite_tag_support` option following influx metric -> graphite conversion would happen: #### Graphite Tag Support
When the `graphite_tag_support` option is enabled, the template pattern is not
used. Instead, tags are encoded using
[Graphite tag support](http://graphite.readthedocs.io/en/latest/tags.html)
added in Graphite 1.1. The `metric_path` is a combination of the optional
`prefix` option, measurement name, and field name.
The tag `name` is reserved by Graphite, any conflicting tags and will be encoded as `_name`.
**Example Conversion**:
``` ```
cpu,cpu=cpu-total,dc=us-east-1,host=tars usage_idle=98.09,usage_user=0.89 1455320660004257758 cpu,cpu=cpu-total,dc=us-east-1,host=tars usage_idle=98.09,usage_user=0.89 1455320660004257758
=> =>
@ -111,47 +126,13 @@ cpu.usage_idle;cpu=cpu-total;dc=us-east-1;host=tars 98.09 1455320690
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
data_format = "graphite" data_format = "graphite"
# prefix each graphite bucket ## Prefix added to each graphite bucket
prefix = "telegraf" prefix = "telegraf"
# graphite template ## Graphite template pattern
template = "host.tags.measurement.field" template = "host.tags.measurement.field"
# Enable Graphite tags support
# Defaults to "false"
graphite_tag_support = true
```
## Support Graphite tags, recommended to enable when using Graphite 1.1 or later.
## Graphite 1.1 # graphite_tag_support = false
The Graphite11 data format translates Telegraf metrics into Graphite protocol which supports storing data using tags to identify each series. [Graphite Tag Support](http://graphite.readthedocs.io/en/latest/tags.html)
Which means the following influx metric -> graphite 1.1.x conversion would happen:
```
cpu,cpu=cpu-total,dc=us-east-1,host=tars usage_idle=98.09,usage_user=0.89 1455320660004257758
=>
cpu.usage_user;cpu=cpu-total;dc=us-east-1;host=tars 0.89 1455320690
cpu.usage_idle;cpu=cpu-total;dc=us-east-1;host=tars 98.09 1455320690
```
Fields with string values will be skipped. Boolean fields will be converted
to 1 (true) or 0 (false).
### Graphite Configuration
```toml
[[outputs.file]]
## Files to write to, "stdout" is a specially handled file.
files = ["stdout", "/tmp/metrics.out"]
## Data format to output.
## Each data format has its own unique set of configuration options, read
## more about them here:
## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
data_format = "graphite11"
# prefix each graphite bucket
prefix = "telegraf"
``` ```
## JSON ## JSON

View File

@ -3,12 +3,10 @@
This plugin writes to [Graphite](http://graphite.readthedocs.org/en/latest/index.html) This plugin writes to [Graphite](http://graphite.readthedocs.org/en/latest/index.html)
via raw TCP. via raw TCP.
<aside class="notice"> For details on the translation between Telegraf Metrics and Graphite output,
When `graphite_tag_support` is enabled, `name` as tag name is reserved for graphite metric and will be replaced with `_name`. see the [Graphite Data Format](../../../docs/DATA_FORMATS_OUTPUT.md)
</aside>
### Configuration:
## Configuration:
```toml ```toml
# Configuration for Graphite server to send metrics to # Configuration for Graphite server to send metrics to
@ -22,10 +20,10 @@ When `graphite_tag_support` is enabled, `name` as tag name is reserved for graph
## Graphite output template ## Graphite output template
## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
template = "host.tags.measurement.field" template = "host.tags.measurement.field"
## Enable Graphite tags support ## Enable Graphite tags support
## see http://graphite.readthedocs.io/en/latest/tags.html # graphite_tag_support = false
## Defaults to "false"
# graphite_tag_support = true
## timeout in seconds for the write connection to graphite ## timeout in seconds for the write connection to graphite
timeout = 2 timeout = 2

View File

@ -36,10 +36,10 @@ var sampleConfig = `
## Graphite output template ## Graphite output template
## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md ## see https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_OUTPUT.md
template = "host.tags.measurement.field" template = "host.tags.measurement.field"
## Enable Graphite tags support ## Enable Graphite tags support
## see http://graphite.readthedocs.io/en/latest/tags.html # graphite_tag_support = false
## Defaults to "false"
# graphite_tag_support = true
## timeout in seconds for the write connection to graphite ## timeout in seconds for the write connection to graphite
timeout = 2 timeout = 2