apiVersion: influxdata.com/v2alpha1
kind: Telegraf
metadata:
  name:
    envRef:
      key: meta-name
      default: meta
spec:
  name:
    envRef:
      key: spec-name
      default: spectacles
  config: |
   # Configuration for telegraf agent
   [agent]
     ## Default data collection interval for all inputs
     interval = "10s"
     ## Rounds collection interval to 'interval'
     ## ie, if interval="10s" then always collect on :00, :10, :20, etc.
     round_interval = true

     ## Telegraf will send metrics to outputs in batches of at most
     ## metric_batch_size metrics.
     ## This controls the size of writes that Telegraf sends to output plugins.
     metric_batch_size = 1000

     ## For failed writes, telegraf will cache metric_buffer_limit metrics for each
     ## output, and will flush this buffer on a successful write. Oldest metrics
     ## are dropped first when this buffer fills.
     ## This buffer only fills when writes fail to output plugin(s).
     metric_buffer_limit = 10000

     ## Collection jitter is used to jitter the collection by a random amount.
     ## Each plugin will sleep for a random time within jitter before collecting.
     ## This can be used to avoid many plugins querying things like sysfs at the
     ## same time, which can have a measurable effect on the system.
     collection_jitter = "0s"

     ## Default flushing interval for all outputs. Maximum flush_interval will be
     ## flush_interval + flush_jitter
     flush_interval = "10s"
     ## Jitter the flush interval by a random amount. This is primarily to avoid
     ## large write spikes for users running a large number of telegraf instances.
     ## ie, a jitter of 5s and interval 10s means flushes will happen every 10-15s
     flush_jitter = "0s"

     ## By default or when set to "0s", precision will be set to the same
     ## timestamp order as the collection interval, with the maximum being 1s.
     ##   ie, when interval = "10s", precision will be "1s"
     ##       when interval = "250ms", precision will be "1ms"
     ## Precision will NOT be used for service inputs. It is up to each individual
     ## service input to set the timestamp at the appropriate precision.
     ## Valid time units are "ns", "us" (or "µs"), "ms", "s".
     precision = ""
     debug = false
     quiet = false
     logfile = ""

     hostname = ""
     omit_hostname = false
  associations:
   - kind: Label
     name:
      envRef:
       key: label-meta-name
---
apiVersion: influxdata.com/v2alpha1
kind: Label
metadata:
 name:
  envRef:
   key: label-meta-name
