telegraf/templates/telegraf.conf.j2
Knut Ahlers af3b0de9e8
Initial version
Signed-off-by: Knut Ahlers <knut@ahlers.me>
2018-05-08 11:38:39 +02:00

74 lines
3.4 KiB
Django/Jinja

# {{ ansible_managed }}
[global_tags]
{% for k,v in telegraf_global_tags.items() %}
{{ k }} = "{{ v }}"
{% endfor %}
# Configuration for telegraf agent
[agent]
## Default data collection interval for all inputs
interval = "{{ telegraf_agent_interval | default('10s') }}"
## Rounds collection interval to 'interval'
## ie, if interval="10s" then always collect on :00, :10, :20, etc.
round_interval = {{ telegraf_agent_round_interval | default(true) | to_nice_json }}
## 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 = {{ telegraf_agent_metric_batch_size | default(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 = {{ telegraf_agent_metric_buffer_limit | default(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 = "{{ telegraf_agent_collection_jitter | default('0s') }}"
## Default flushing interval for all outputs. You shouldn't set this below
## interval. Maximum flush_interval will be flush_interval + flush_jitter
flush_interval = "{{ telegraf_agent_flush_interval | default('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 = "{{ telegraf_agent_flush_jitter | default('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 = "{{ telegraf_agent_precision | default('') }}"
## Logging configuration:
## Run telegraf with debug log messages.
debug = {{ telegraf_agent_debug | default(false) | to_nice_json }}
## Run telegraf in quiet mode (error log messages only).
quiet = {{ telegraf_agent_quiet | default(false) | to_nice_json }}
## Specify the log file name. The empty string means to log to stderr.
logfile = "{{ telegraf_agent_logfile | default('') }}"
## Override default hostname, if empty use os.Hostname()
hostname = "{{ telegraf_agent_hostname | default('') }}"
## If set to true, do no set the "host" tag in the telegraf agent.
omit_hostname = {{ telegraf_agent_omit_hostname | default(false) | to_nice_json }}
{% for name, config in telegraf_outputs.items() %}
[[ outputs.{{ name }} ]]
{{ config | encode_toml }}
{% endfor %}
{% for name, config in telegraf_inputs.items() %}
[[ inputs.{{ name }} ]]
{{ config | encode_toml }}
{% endfor %}
# vim: set ft=toml: