influx

package
v1.36.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 8, 2025 License: MIT Imports: 11 Imported by: 62

README

Influx

The influx data format outputs metrics into InfluxDB Line Protocol. This is the recommended format unless another format is required for interoperability.

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 = "influx"

  ## Maximum line length in bytes.  Useful only for debugging.
  influx_max_line_bytes = 0

  ## When true, fields will be output in ascending lexical order.  Enabling
  ## this option will result in decreased performance and is only recommended
  ## when you need predictable ordering while debugging.
  influx_sort_fields = false

  ## When true, Telegraf will output unsigned integers as unsigned values,
  ## i.e.: `42u`.  You will need a version of InfluxDB supporting unsigned
  ## integer values.  Enabling this option will result in field type errors if
  ## existing data has been written.
  influx_uint_support = false

  ## When true, Telegraf will omit the timestamp on data to allow InfluxDB
  ## to set the timestamp of the data during ingestion. This is generally NOT
  ## what you want as it can lead to data points captured at different times
  ## getting omitted due to similar data.
  # influx_omit_timestamp = false

Metrics

Conversion is direct taking into account some limitations of the Line Protocol format:

  • Float fields that are NaN or Inf are skipped.
  • Trailing backslash \ characters are removed from tag keys and values.
  • Tags with a key or value that is the empty string are skipped.
  • When not using influx_uint_support, unsigned integers are capped at the max int64.

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewReader

func NewReader(metrics []telegraf.Metric, serializer *Serializer) io.Reader

NewReader creates a new reader over the given metrics.

Types

type Serializer

type Serializer struct {
	MaxLineBytes  int  `toml:"influx_max_line_bytes"`
	SortFields    bool `toml:"influx_sort_fields"`
	UintSupport   bool `toml:"influx_uint_support"`
	OmitTimestamp bool `toml:"influx_omit_timestamp"`
	// contains filtered or unexported fields
}

func (*Serializer) Init added in v1.27.0

func (s *Serializer) Init() error

func (*Serializer) Serialize

func (s *Serializer) Serialize(m telegraf.Metric) ([]byte, error)

func (*Serializer) SerializeBatch

func (s *Serializer) SerializeBatch(metrics []telegraf.Metric) ([]byte, error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL