# Telegraf configuration with CrateDB output.
# https://cratedb.com/docs/guide/integrate/collectd/

[[inputs.socket_listener]]
  service_address = "udp://:25826"

  ## Data format to consume.
  ## 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_INPUT.md
  data_format = "collectd"

  ## Authentication file for cryptographic security levels
  # collectd_auth_file = "/etc/collectd/auth_file"
  ## One of none (default), sign, or encrypt
  # collectd_security_level = "encrypt"
  ## Path of to TypesDB specifications
  # collectd_typesdb = ["/usr/share/collectd/types.db"]

  ## Multi-value plugins can be handled two ways.
  ## "split" will parse and store the multi-value plugin data into separate measurements
  ## "join" will parse and store the multi-value plugin as a single multi-value measurement.
  ## "split" is the default behavior for backward compatibility with previous versions of InfluxDB.
  collectd_parse_multivalue = "split"

# Configuration for CrateDB to send metrics to.
[[outputs.cratedb]]
  ## Connection parameters for accessing the database see
  ##   https://pkg.go.dev/github.com/jackc/pgx/v4#ParseConfig
  ## for available options
  url = "postgres://crate:crate@cratedb/?sslmode=disable"

  ## Timeout for all CrateDB queries.
  # timeout = "5s"

  ## Name of the table to store metrics in.
  # table = "metrics"

  ## If true, and the metrics table does not exist, create it automatically.
  table_create = true

  ## The character(s) to replace any '.' in an object key with
  # key_separator = "_"
