telegraf/plugins/outputs/influxdb
Cameron Sparr 4a5d313693
Improve the InfluxDB through-put performance
This changes the current use of the InfluxDB client to instead use a
baked-in client that uses the fasthttp library.

This allows for significantly smaller allocations, the re-use of http
body buffers, and the re-use of the actual bytes of the line-protocol
metric representations.
2017-01-25 11:54:16 -08:00
..
client Improve the InfluxDB through-put performance 2017-01-25 11:54:16 -08:00
README.md Fix typo of 'quorom' to 'quorum' when specifying write consistency. (#1618) 2016-08-10 17:51:21 +01:00
influxdb.go Improve the InfluxDB through-put performance 2017-01-25 11:54:16 -08:00
influxdb_test.go Improve the InfluxDB through-put performance 2017-01-25 11:54:16 -08:00

README.md

InfluxDB Output Plugin

This plugin writes to InfluxDB via HTTP or UDP.

Configuration:

# Configuration for influxdb server to send metrics to
[[outputs.influxdb]]
  ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
  ## Multiple urls can be specified as part of the same cluster,
  ## this means that only ONE of the urls will be written to each interval.
  # urls = ["udp://localhost:8089"] # UDP endpoint example
  urls = ["http://localhost:8086"] # required
  ## The target database for metrics (telegraf will create it if not exists).
  database = "telegraf" # required

  ## Retention policy to write to. Empty string writes to the default rp.
  retention_policy = ""
  ## Write consistency (clusters only), can be: "any", "one", "quorum", "all"
  write_consistency = "any"

  ## Write timeout (for the InfluxDB client), formatted as a string.
  ## If not provided, will default to 5s. 0s means no timeout (not recommended).
  timeout = "5s"
  # username = "telegraf"
  # password = "metricsmetricsmetricsmetrics"
  ## Set the user agent for HTTP POSTs (can be useful for log differentiation)
  # user_agent = "telegraf"
  ## Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
  # udp_payload = 512

  ## Optional SSL Config
  # ssl_ca = "/etc/telegraf/ca.pem"
  # ssl_cert = "/etc/telegraf/cert.pem"
  # ssl_key = "/etc/telegraf/key.pem"
  ## Use SSL but skip chain & host verification
  # insecure_skip_verify = false

Required parameters:

  • urls: List of strings, this is for InfluxDB clustering support. On each flush interval, Telegraf will randomly choose one of the urls to write to. Each URL should start with either http:// or udp://
  • database: The name of the database to write to.

Optional parameters:

  • write_consistency: Write consistency (clusters only), can be: "any", "one", "quorum", "all".
  • retention_policy: Retention policy to write to.
  • timeout: Write timeout (for the InfluxDB client), formatted as a string. If not provided, will default to 5s. 0s means no timeout (not recommended).
  • username: Username for influxdb
  • password: Password for influxdb
  • user_agent: Set the user agent for HTTP POSTs (can be useful for log differentiation)
  • udp_payload: Set UDP payload size, defaults to InfluxDB UDP Client default (512 bytes)
  • ssl_ca: SSL CA
  • ssl_cert: SSL CERT
  • ssl_key: SSL key
  • insecure_skip_verify: Use SSL but skip chain & host verification (default: false)