Carbon2 output data format
Use the carbon2 output data format (serializer) to format and output Telegraf metrics as Carbon2 format.
Configuration
[[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 = "carbon2"
## Optionally configure metrics format, whether to merge metric name
## and field name.
## Possible options:
## * "field_separate"
## * "metric_includes_field"
## * "" - defaults to "field_separate"
# carbon2_format = "field_separate"
## Character used for replacing sanitized characters. By default ":"
## is used. The following character set is replaced with the sanitize
## replace char: !@#$%^&*()+`'\"[]{};<>,?/\\|=
# carbon2_sanitize_replace_char = ":"Standard form:
metric=name field=field_1 host=foo 30 1234567890
metric=name field=field_2 host=foo 4 1234567890
metric=name field=field_N host=foo 59 1234567890Metrics
The serializer converts the metrics by creating intrinsic_tags using the combination of metric name and fields. So, if one Telegraf metric has 4 fields, the carbon2 output will be 4 separate metrics. There will be a metric tag that represents the name of the metric and a field tag to represent the field.
Metrics format
Use the carbon2_format option to change how metric names are
constructed:
field_separate(default):metricincludes only the metric name, and a separatefieldtag contains the field name.metric_includes_field: the metric name includes the field name after an underscore:metric=name_field_1 host=foo 30 1234567890 metric=name_field_2 host=foo 4 1234567890 metric=name_field_N host=foo 59 1234567890
Metric name sanitization
The serializer replaces the following characters in the metric name:
!@#$%^&*()+`'\"[]{};<>,?/\\|=By default, they are replaced with :.
Use carbon2_sanitize_replace_char to specify a different replacement
character.
Example
If we take the following InfluxDB Line Protocol:
weather,location=us-midwest,season=summer temperature=82,wind=100 1234567890After serializing in Carbon2, the result would be:
metric=weather field=temperature location=us-midwest season=summer 82 1234567890
metric=weather field=wind location=us-midwest season=summer 100 1234567890Fields and tags with spaces
When a field key or tag key-value have spaces, spaces will be replaced with _.
Tags with empty values
When a tag’s value is empty, it will be replaced with null.
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for Telegraf and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.