apiVersion: v1
kind: ConfigMap
metadata:
  name: telegraf-statsd-config
  namespace: default
data:
  statsd.conf: |
    #  Statsd Server
    [[inputs.statsd]]
      ## Protocol, must be "tcp", "udp4", "udp6" or "udp" (default=udp)
      protocol = "udp"

      ## MaxTCPConnection - applicable when protocol is set to tcp (default=250)
      max_tcp_connections = 250

      ## Enable TCP keep alive probes (default=false)
      tcp_keep_alive = false

      ## Specifies the keep-alive period for an active network connection.
      ## Only applies to TCP sockets and will be ignored if tcp_keep_alive is false.
      ## Defaults to the OS configuration.
      # tcp_keep_alive_period = "2h"

      ## Address and port to host UDP listener on
      service_address = ":8125"

      ## The following configuration options control when telegraf clears it's cache
      ## of previous values. If set to false, then telegraf will only clear it's
      ## cache when the daemon is restarted.
      ## Reset gauges every interval (default=true)
      delete_gauges = true
      ## Reset counters every interval (default=true)
      delete_counters = true
      ## Reset sets every interval (default=true)
      delete_sets = true
      ## Reset timings & histograms every interval (default=true)
      delete_timings = true

      ## Percentiles to calculate for timing & histogram stats
      percentiles = [90]

      ## separator to use between elements of a statsd metric
      metric_separator = "_"

      ## Parses tags in the datadog statsd format
      ## http://docs.datadoghq.com/guides/dogstatsd/
      parse_data_dog_tags = false

      ## Statsd data translation templates, more info can be read here:
      ## https://github.com/influxdata/telegraf/blob/master/docs/DATA_FORMATS_INPUT.md#graphite
      # templates = [
      #     "cpu.* measurement*"
      # ]

      ## Number of UDP messages allowed to queue up, once filled,
      ## the statsd server will start dropping packets
      allowed_pending_messages = 10000

      ## Number of timing/histogram values to track per-measurement in the
      ## calculation of percentiles. Raising this limit increases the accuracy
      ## of percentiles but also increases the memory usage and cpu time.
      percentile_limit = 1000
 
      # Specify optional tags to be applied to all metrics for this plugin
      # NOTE: Order matters, this needs to be at the end of the plugin definition
      # [[inputs.statsd.tags]]
        # tag1 = "foo"
        # tag2 = "bar"
