influxdb_v2_listener

package
v1.23.4 Latest Latest
Warning

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

Go to latest
Published: Aug 16, 2022 License: MIT Imports: 19 Imported by: 0

README

InfluxDB V2 Listener Input Plugin

InfluxDB V2 Listener is a service input plugin that listens for requests sent according to the InfluxDB HTTP API. The intent of the plugin is to allow Telegraf to serve as a proxy/router for the /api/v2/write endpoint of the InfluxDB HTTP API.

The /api/v2/write endpoint supports the precision query parameter and can be set to one of ns, us, ms, s. All other parameters are ignored and defer to the output plugins configuration.

Telegraf minimum version: Telegraf 1.16.0

Configuration

# Accept metrics over InfluxDB 2.x HTTP API
[[inputs.influxdb_v2_listener]]
  ## Address and port to host InfluxDB listener on
  ## (Double check the port. Could be 9999 if using OSS Beta)
  service_address = ":8086"

  ## Maximum allowed HTTP request body size in bytes.
  ## 0 means to use the default of 32MiB.
  # max_body_size = "32MiB"

  ## Optional tag to determine the bucket.
  ## If the write has a bucket in the query string then it will be kept in this tag name.
  ## This tag can be used in downstream outputs.
  ## The default value of nothing means it will be off and the database will not be recorded.
  # bucket_tag = ""

  ## Set one or more allowed client CA certificate file names to
  ## enable mutually authenticated TLS connections
  # tls_allowed_cacerts = ["/etc/telegraf/clientca.pem"]

  ## Add service certificate and key
  # tls_cert = "/etc/telegraf/cert.pem"
  # tls_key = "/etc/telegraf/key.pem"

  ## Optional token to accept for HTTP authentication.
  ## You probably want to make sure you have TLS configured above for this.
  # token = "some-long-shared-secret-token"

  ## Influx line protocol parser
  ## 'internal' is the default. 'upstream' is a newer parser that is faster
  ## and more memory efficient.
  # parser_type = "internal"

Metrics

Metrics are created from InfluxDB Line Protocol in the request body.

Troubleshooting

Example Query:

curl -i -XPOST 'http://localhost:8186/api/v2/write' --data-binary 'cpu_load_short,host=server01,region=us-west value=0.64 1434055562000000000'

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrEOF = errors.New("EOF")

Functions

This section is empty.

Types

type BadRequestCode

type BadRequestCode string

The BadRequestCode constants keep standard error messages see: https://v2.docs.influxdata.com/v2.0/api/#operation/PostWrite

const (
	InternalError BadRequestCode = "internal error"
	Invalid       BadRequestCode = "invalid"
)

type InfluxDBV2Listener

type InfluxDBV2Listener struct {
	ServiceAddress string `toml:"service_address"`

	tlsint.ServerConfig

	MaxBodySize config.Size `toml:"max_body_size"`
	Token       string      `toml:"token"`
	BucketTag   string      `toml:"bucket_tag"`
	ParserType  string      `toml:"parser_type"`

	Log telegraf.Logger `toml:"-"`
	// contains filtered or unexported fields
}

func (*InfluxDBV2Listener) Gather

func (*InfluxDBV2Listener) Init

func (h *InfluxDBV2Listener) Init() error

func (*InfluxDBV2Listener) SampleConfig

func (*InfluxDBV2Listener) SampleConfig() string

func (*InfluxDBV2Listener) ServeHTTP

func (h *InfluxDBV2Listener) ServeHTTP(res http.ResponseWriter, req *http.Request)

func (*InfluxDBV2Listener) Start

Start starts the InfluxDB listener service.

func (*InfluxDBV2Listener) Stop

func (h *InfluxDBV2Listener) Stop()

Stop cleans up all resources

Jump to

Keyboard shortcuts

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