aboutsummaryrefslogtreecommitdiff
path: root/telegraf.conf
blob: f00e8ad9dbc7fc3a9e5e5401658c0a48ad1fe644 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
# 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"]