influxdb.conf.j2 9.83 KB
Newer Older
1
### Welcome to the InfluxDB configuration file - generated by Ansible
2
3
4
5
6
7
8

# Once every 24 hours InfluxDB will report anonymous data to m.influxdb.com
# The data includes raft id (random 8 bytes), os, arch, version, and metadata.
# We don't track ip addresses of servers reporting. This is only used
# to track the number of instances running and the versions, which
# is very helpful for us.
# Change this option to true to disable reporting.
Ross McDonald's avatar
Ross McDonald committed
9

10
reporting-disabled = {{ influxdb_disable_reporting }}
11
12
13
14
15
16
17
18
19

###
### [meta]
###
### Controls the parameters for the Raft consensus group that stores metadata
### about the InfluxDB cluster.
###

[meta]
20
  enabled = {{ influxdb_meta_enabled }}
21
  dir = "{{ influxdb_meta_dir }}"
aisch's avatar
aisch committed
22
23
  bind-address = "{{ influxdb_bind_hostname }}:{{ influxdb_meta_port }}"
  http-bind-address = "{{ influxdb_bind_hostname }}:{{ influxdb_meta_http_port }}"
24
25
26
27
28
  retention-autocreate = {{ influxdb_meta_retention_autocreate }}
  election-timeout = "{{ influxdb_meta_election_timeout }}"
  heartbeat-timeout = "{{ influxdb_meta_heartbeat_timeout }}"
  leader-lease-timeout = "{{ influxdb_meta_leader_lease_timeout }}"
  commit-timeout = "{{ influxdb_meta_commit_timeout }}"
Ross McDonald's avatar
Ross McDonald committed
29
  cluster-tracing = {{ influxdb_meta_cluster_tracing|lower }}
30
31
32
33
34
35
  https-enabled = false
  https-certificate = ""
  raft-promotion-enabled = true
  logging-enabled = true
  pprof-enabled = false
  lease-duration = "1m0s"
36
37
38
39
40
41
42
43

###
### [data]
###
### Controls where the actual shard data for InfluxDB lives.
###

[data]
44
  enabled = {{ influxdb_data_enabled }}
45
  dir = "{{ influxdb_data_dir }}"
46
  engine = "{{ influxdb_data_engine }}"
47
48
49

  # The following WAL settings are for the b1 storage engine used in 0.9.2. They won't
  # apply to any new shards created after upgrading to a version > 0.9.3.
50
51
52
  max-wal-size = {{ influxdb_data_max_wal_size }}
  wal-flush-interval = "{{ influxdb_data_wal_flush_interval }}"
  wal-partition-flush-delay = "{{ influxdb_data_wal_partition_flush_delay }}"
53
54

  # These are the WAL settings for the storage engine >= 0.9.3
55
56
  wal-dir = "{{ influxdb_data_wal_dir }}"
  wal-logging-enabled = {{ influxdb_data_wal_logging_enabled }}
57
58
59

  # When a series in the WAL in-memory cache reaches this size in bytes it is marked as ready to
  # flush to the index
60
  # wal-ready-series-size = {{ influxdb_data_wal_ready_series_size }}
61
62

  # Flush and compact a partition once this ratio of series are over the ready size
63
  # wal-compaction-threshold = {{ influxdb_data_wal_compaction_threshold }}
64
65

  # Force a flush and compaction if any series in a partition gets above this size in bytes
66
  # wal-max-series-size = {{ influxdb_data_wal_max_series_size }}
67
68
69
70

  # Force a flush of all series and full compaction if there have been no writes in this
  # amount of time. This is useful for ensuring that shards that are cold for writes don't
  # keep a bunch of data cached in memory and in the WAL.
71
  # wal-flush-cold-interval = "{{ influxdb_data_wal_flush_cold_interval }}"
72
73
74
75

  # Force a partition to flush its largest series if it reaches this approximate size in
  # bytes. Remember there are 5 partitions so you'll need at least 5x this amount of memory.
  # The more memory you have, the bigger this can be.
76
  # wal-partition-size-threshold = {{ influxdb_data_wal_partition_size_threshold }}
77

78
  query-log-enabled = {{ influxdb_data_query_log_enabled }}
79
80
81
82
83
  cache-max-memory-size = 524288000
  cache-snapshot-memory-size = 26214400
  cache-snapshot-write-cold-duration = "1h0m0s"
  compact-full-write-cold-duration = "24h0m0s"
  max-points-per-block = 0
Ross McDonald's avatar
Ross McDonald committed
84
  # data-logging-enabled = true
85

86
87
88
89
90
91
92
93
###
### [cluster]
###
### Controls non-Raft cluster behavior, which generally includes how data is
### shared across shards.
###

[cluster]
94
95
96
97
  shard-writer-timeout = "{{ influxdb_cluster_shard_writer_timeout }}"
  force-remote-mapping = {{ influxdb_cluster_force_remote_mapping }}
  write-timeout = "{{ influxdb_cluster_write_timeout }}"
  shard-mapper-timeout = "{{ influxdb_cluster_shard_mapper_timeout }}"
98
99
100
101
102
103
104

###
### [retention]
###
### Controls the enforcement of retention policies for evicting old data.
###
[retention]
105
106
  enabled = {{ influxdb_retention_enabled }}
  check-interval = "{{ influxdb_retention_check_interval }}"
107
108

[shard-precreation]
109
110
111
  enabled = {{ influxdb_shard_pre_enabled }}
  check-interval = "{{ influxdb_shard_pre_check_interval }}"
  advance-period = "{{ influxdb_shard_pre_advance_period }}"
112
113
114
115
116
117
118
119

###
### [admin]
###
### Controls the availability of the built-in, web-based admin interface.
###

[admin]
120
  enabled = {{ influxdb_admin_enabled }}
aisch's avatar
aisch committed
121
  bind-address = "{{ influxdb_bind_hostname }}:{{ influxdb_admin_port }}"
122
123
  https-enabled = {{ influxdb_admin_https_enabled }}
  https-certificate = "{{ influxdb_admin_https_certificate }}"
124
125

[monitor]
126
127
128
  store-enabled = {{ influxdb_monitor_store_enabled }}
  store-database = "{{ influxdb_monitor_store_database }}"
  store-interval = "{{ influxdb_monitor_store_interval }}"
129

130
131
132
[subscriber]
  enabled = true

133
134
135
136
137
138
139
140
###
### [http]
###
### Controls how the HTTP endpoints are configured. These are the primary
### mechanism for getting data into and out of InfluxDB.
###

[http]
141
  enabled = {{ influxdb_http_enabled }}
aisch's avatar
aisch committed
142
  bind-address = "{{ influxdb_bind_hostname }}:{{ influxdb_http_port }}"
143
144
145
146
147
148
  auth-enabled = {{ influxdb_http_auth_enabled }}
  log-enabled = {{ influxdb_http_log_enabled }}
  write-tracing = {{ influxdb_http_write_tracing }}
  pprof-enabled = {{ influxdb_http_pprof_enabled }}
  https-enabled = {{ influxdb_http_https_enabled }}
  https-certificate = "{{ influxdb_http_https_certificate }}"
149
  https-private-key= "{{ influxdb_http_https_certificate_key }}"
150
151
152
153
154
155
156
157
  
###
### [[graphite]]
###
### Controls one or many listeners for Graphite data.
###

[[graphite]]
158
159
160
161
162
163
  enabled = {{ influxdb_graphite_enabled }}
  # bind-address = ":{{ influxdb_graphite_port }}"
  # protocol = "{{ influxdb_graphite_protocol }}"
  # consistency-level = "{{ influxdb_graphite_consistency_level }}"
  # name-separator = "{{ influxdb_graphite_name_separator }}"
  # name-position = "{{ influxdb_graphite_name_position }}"
164
165
166
167
168

  # These next lines control how batching works. You should have this enabled
  # otherwise you could get dropped metrics or poor performance. Batching
  # will buffer points in memory if you have many coming in.

169
170
171
  # batch-size = {{ influxdb_graphite_batch_size }} # will flush if this many points get buffered
  # batch-pending = {{ influxdb_graphite_batch_pending }} # number of batches that may be pending in memory
  # batch-timeout = "{{ influxdb_graphite_batch_timeout }}" # will flush at least this often even if we haven't hit buffer limit
172
173
174
175
176
177
178
179
180
181
182
183
184
185

  ## "name-schema" configures tag names for parsing the metric name from graphite protocol;
  ## separated by `name-separator`.
  ## The "measurement" tag is special and the corresponding field will become
  ## the name of the metric.
  ## e.g. "type.host.measurement.device" will parse "server.localhost.cpu.cpu0" as
  ## {
  ##     measurement: "cpu",
  ##     tags: {
  ##         "type": "server",
  ##         "host": "localhost,
  ##         "device": "cpu0"
  ##     }
  ## }
186
  # name-schema = "{{ influxdb_graphite_name_schema }}"
187
188
189
190

  ## If set to true, when the input metric name has more fields than `name-schema` specified,
  ## the extra fields will be ignored.
  ## Otherwise an error will be logged and the metric rejected.
191
  # ignore-unnamed = {{ influxdb_graphite_ignore_unnamed }}
192
193

###
Matthew Smith's avatar
Matthew Smith committed
194
{% if influxdb_runtime_version is version('0.11', '>') %}
Kostas Botsas's avatar
Kostas Botsas committed
195
### [[collectd]]
aisch's avatar
aisch committed
196
197
198
{% else %}
### [collectd]
{% endif %}
199
200
201
202
###
### Controls the listener for collectd data.
###

Matthew Smith's avatar
Matthew Smith committed
203
{% if influxdb_runtime_version is version('0.11', '>') %}
Kostas Botsas's avatar
Kostas Botsas committed
204
[[collectd]]
aisch's avatar
aisch committed
205
206
207
{% else %}
[collectd]
{% endif %}
208
209
210
211
212
213
214
215
  enabled = {{ influxdb_collectd_enabled }}
  bind-address = ":{{ influxdb_collectd_port }}"
  database = "{{ influxdb_collectd_database }}"
  retention-policy = "{{ influxdb_collectd_retention_policy }}"
  batch-size = {{ influxdb_collectd_batch_size }}
  batch-pending = {{ influxdb_collectd_batch_pending }}
  batch-timeout = "{{ influxdb_collectd_batch_timeout }}"
  typesdb = "{{ influxdb_collectd_typesdb }}"
216
217

###
Matthew Smith's avatar
Matthew Smith committed
218
{% if influxdb_runtime_version is version('0.11', '>') %}
Kostas Botsas's avatar
Kostas Botsas committed
219
### [[opentsdb]]
aisch's avatar
aisch committed
220
221
222
{% else %}
### [opentsdb]
{% endif %}
223
224
225
226
###
### Controls the listener for OpenTSDB data.
###

Matthew Smith's avatar
Matthew Smith committed
227
{% if influxdb_runtime_version is version('0.11', '>') %}
Kostas Botsas's avatar
Kostas Botsas committed
228
[[opentsdb]]
aisch's avatar
aisch committed
229
230
231
{% else %}
[opentsdb]
{% endif %}
232
233
234
235
236
237
238
239
240
241
  enabled = {{ influxdb_opentsdb_enabled }}
  # bind-address = ":{{ influxdb_opentsdb_port }}"
  # database = "{{ influxdb_opentsdb_database }}"
  # retention-policy = "{{ influxdb_opentsdb_retention_policy }}"
  # consistency-level = "{{ influxdb_opentsdb_consistency_level }}"
  # tls-enabled = {{ influxdb_opentsdb_tls_enabled }}
  # certificate = "{{ influxdb_opentsdb_certificate }}"
  # batch-size = {{ influxdb_opentsdb_batch_size }}
  # batch-pending = {{ influxdb_opentsdb_batch_pending }}
  # batch-timeout = "{{ influxdb_opentsdb_batch_timeout }}"
242
243
244
245
246
247
248

###
### [udp]
###
### Controls the listener for InfluxDB line protocol data via UDP.
###

249
250
  # TODO: Including the udp table prevents service from starting (even if disabled)
  # [udp]
251
252
253
254
255
  #   enabled = {{ influxdb_udp_enabled }}
  # bind-address = "{{ influxdb_udp_bind_address }}"
  # database = "{{ influxdb_udp_database }}"
  # batch-size = {{ influxdb_udp_batch_size }}
  # batch-timeout = "{{ influxdb_udp_batch_timeout }}"
256
257
258
259
260
261
262
263

###
### [continuous_queries]
###
### Controls how continuous queries are run within InfluxDB.
###

[continuous_queries]
264
265
  log-enabled = {{ influxdb_cq_log_enabled }}
  enabled = {{ influxdb_cq_enabled }}
266
267
268
269
270
271
272
273
274
275

###
### [hinted-handoff]
###
### Controls the hinted handoff feature, which allows nodes to temporarily
### store queued data when one node of a cluster is down for a short period
### of time.
###

[hinted-handoff]
276
277
278
279
280
281
  enabled = {{ influxdb_hh_enabled }}
  dir = "{{ influxdb_hh_dir }}"
  max-size = {{ influxdb_hh_max_size }}
  max-age = "{{ influxdb_hh_max_age }}"
  retry-rate-limit = {{ influxdb_hh_retry_rate_limit }}
  retry-interval = "{{ influxdb_hh_retry_interval }}"
Ross McDonald's avatar
Ross McDonald committed
282
  purge-interval = "{{ influxdb_hh_purge_interval }}"