# Telegraf Configuration # Global tags can be specified here in key="value" format. [global_tags] dc = "fmt2" rack = "1500.1.59" host_kind = "amt-jb" ## Environment variables can be used as tags, and throughout the config file # user = "$USER" # 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 ## Maximum number of unwritten metrics per output. Increasing this value ## allows for longer periods of output downtime without dropping metrics at the ## cost of higher maximum memory usage. 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" ## Collection offset is used to shift the collection by the given amount. ## This can be be used to avoid many plugins querying constraint devices ## at the same time by manually scheduling them in time. # collection_offset = "0s" ## Default flushing interval for all outputs. Maximum flush_interval will be ## flush_interval + flush_jitter flush_interval = "1s" ## 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" ## Collected metrics are rounded to the precision specified. Precision is ## specified as an interval with an integer + unit (e.g. 0s, 10ms, 2us, 4s). ## Valid time units are "ns", "us" (or "µs"), "ms", "s". ## ## 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. precision = "0s" # Configuration for sending metrics to InfluxDB [[outputs.influxdb]] urls = ["http://influxdb.fmt2.grl.internal:8086"] username = "$INFLUX_USER" password = "$INFLUX_PASS" # [[outputs.file]] # files = ["stdout"] ############################################################################### # PROCESSOR PLUGINS # ############################################################################### [[processors.converter]] [processors.converter.fields] float = ["request_time", "upstream_response_time"] ############################################################################### # SERVICE INPUT PLUGINS # ############################################################################### [[inputs.cpu]] report_active = true [[inputs.net]] [[inputs.mem]] [[inputs.disk]] [[inputs.tail]] name_override = "nginx_access" files = ["/var/log/nginx/access.log"] initial_read_offset = "saved-or-end" data_format = "json" json_strict = false json_time_key = "time" json_time_format = "unix" tag_keys = ["status", "method", "upstream_route", "upstream_cache_hit", "product_id"] json_string_fields = ["request_time", "upstream_response_time"]