1### Welcome to the InfluxDB configuration file. 2 3# The values in this file override the default values used by the system if 4# a config option is not specified. The commented out lines are the configuration 5# field and the default value used. Uncommenting a line and changing the value 6# will change the value used at runtime when the process is restarted. 7 8# Once every 24 hours InfluxDB will report usage data to usage.influxdata.com 9# The data includes a random ID, os, arch, version, the number of series and other 10# usage data. No data from user databases is ever transmitted. 11# Change this option to true to disable reporting. 12# reporting-disabled = false 13 14# Bind address to use for the RPC service for backup and restore. 15# bind-address = "127.0.0.1:8088" 16 17### 18### [meta] 19### 20### Controls the parameters for the Raft consensus group that stores metadata 21### about the InfluxDB cluster. 22### 23 24[meta] 25 # Where the metadata/raft database is stored 26 dir = "/var/lib/influxdb/meta" 27 28 # Automatically create a default retention policy when creating a database. 29 # retention-autocreate = true 30 31 # If log messages are printed for the meta service 32 # logging-enabled = true 33 34### 35### [data] 36### 37### Controls where the actual shard data for InfluxDB lives and how it is 38### flushed from the WAL. "dir" may need to be changed to a suitable place 39### for your system, but the WAL settings are an advanced configuration. The 40### defaults should work for most systems. 41### 42 43[data] 44 # The directory where the TSM storage engine stores TSM files. 45 dir = "/var/lib/influxdb/data" 46 47 # The directory where the TSM storage engine stores WAL files. 48 wal-dir = "/var/lib/influxdb/wal" 49 50 # The amount of time that a write will wait before fsyncing. A duration 51 # greater than 0 can be used to batch up multiple fsync calls. This is useful for slower 52 # disks or when WAL write contention is seen. A value of 0s fsyncs every write to the WAL. 53 # Values in the range of 0-100ms are recommended for non-SSD disks. 54 # wal-fsync-delay = "0s" 55 56 57 # The type of shard index to use for new shards. The default is an in-memory index that is 58 # recreated at startup. A value of "tsi1" will use a disk based index that supports higher 59 # cardinality datasets. 60 # index-version = "inmem" 61 62 # Trace logging provides more verbose output around the tsm engine. Turning 63 # this on can provide more useful output for debugging tsm engine issues. 64 # trace-logging-enabled = false 65 66 # Whether queries should be logged before execution. Very useful for troubleshooting, but will 67 # log any sensitive data contained within a query. 68 # query-log-enabled = true 69 70 # Settings for the TSM engine 71 72 # CacheMaxMemorySize is the maximum size a shard's cache can 73 # reach before it starts rejecting writes. 74 # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 75 # Values without a size suffix are in bytes. 76 # cache-max-memory-size = "1g" 77 78 # CacheSnapshotMemorySize is the size at which the engine will 79 # snapshot the cache and write it to a TSM file, freeing up memory 80 # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 81 # Values without a size suffix are in bytes. 82 # cache-snapshot-memory-size = "25m" 83 84 # CacheSnapshotWriteColdDuration is the length of time at 85 # which the engine will snapshot the cache and write it to 86 # a new TSM file if the shard hasn't received writes or deletes 87 # cache-snapshot-write-cold-duration = "10m" 88 89 # CompactFullWriteColdDuration is the duration at which the engine 90 # will compact all TSM files in a shard if it hasn't received a 91 # write or delete 92 # compact-full-write-cold-duration = "4h" 93 94 # The maximum number of concurrent full and level compactions that can run at one time. A 95 # value of 0 results in 50% of runtime.GOMAXPROCS(0) used at runtime. Any number greater 96 # than 0 limits compactions to that value. This setting does not apply 97 # to cache snapshotting. 98 # max-concurrent-compactions = 0 99 100 # The threshold, in bytes, when an index write-ahead log file will compact 101 # into an index file. Lower sizes will cause log files to be compacted more 102 # quickly and result in lower heap usage at the expense of write throughput. 103 # Higher sizes will be compacted less frequently, store more series in-memory, 104 # and provide higher write throughput. 105 # Valid size suffixes are k, m, or g (case insensitive, 1024 = 1k). 106 # Values without a size suffix are in bytes. 107 # max-index-log-file-size = "1m" 108 109 # The maximum series allowed per database before writes are dropped. This limit can prevent 110 # high cardinality issues at the database level. This limit can be disabled by setting it to 111 # 0. 112 # max-series-per-database = 1000000 113 114 # The maximum number of tag values per tag that are allowed before writes are dropped. This limit 115 # can prevent high cardinality tag values from being written to a measurement. This limit can be 116 # disabled by setting it to 0. 117 # max-values-per-tag = 100000 118 119 # If true, then the mmap advise value MADV_WILLNEED will be provided to the kernel with respect to 120 # TSM files. This setting has been found to be problematic on some kernels, and defaults to off. 121 # It might help users who have slow disks in some cases. 122 # tsm-use-madv-willneed = false 123 124### 125### [coordinator] 126### 127### Controls the clustering service configuration. 128### 129 130[coordinator] 131 # The default time a write request will wait until a "timeout" error is returned to the caller. 132 # write-timeout = "10s" 133 134 # The maximum number of concurrent queries allowed to be executing at one time. If a query is 135 # executed and exceeds this limit, an error is returned to the caller. This limit can be disabled 136 # by setting it to 0. 137 # max-concurrent-queries = 0 138 139 # The maximum time a query will is allowed to execute before being killed by the system. This limit 140 # can help prevent run away queries. Setting the value to 0 disables the limit. 141 # query-timeout = "0s" 142 143 # The time threshold when a query will be logged as a slow query. This limit can be set to help 144 # discover slow or resource intensive queries. Setting the value to 0 disables the slow query logging. 145 # log-queries-after = "0s" 146 147 # The maximum number of points a SELECT can process. A value of 0 will make 148 # the maximum point count unlimited. This will only be checked every second so queries will not 149 # be aborted immediately when hitting the limit. 150 # max-select-point = 0 151 152 # The maximum number of series a SELECT can run. A value of 0 will make the maximum series 153 # count unlimited. 154 # max-select-series = 0 155 156 # The maxium number of group by time bucket a SELECT can create. A value of zero will max the maximum 157 # number of buckets unlimited. 158 # max-select-buckets = 0 159 160### 161### [retention] 162### 163### Controls the enforcement of retention policies for evicting old data. 164### 165 166[retention] 167 # Determines whether retention policy enforcement enabled. 168 # enabled = true 169 170 # The interval of time when retention policy enforcement checks run. 171 # check-interval = "30m" 172 173### 174### [shard-precreation] 175### 176### Controls the precreation of shards, so they are available before data arrives. 177### Only shards that, after creation, will have both a start- and end-time in the 178### future, will ever be created. Shards are never precreated that would be wholly 179### or partially in the past. 180 181[shard-precreation] 182 # Determines whether shard pre-creation service is enabled. 183 # enabled = true 184 185 # The interval of time when the check to pre-create new shards runs. 186 # check-interval = "10m" 187 188 # The default period ahead of the endtime of a shard group that its successor 189 # group is created. 190 # advance-period = "30m" 191 192### 193### Controls the system self-monitoring, statistics and diagnostics. 194### 195### The internal database for monitoring data is created automatically if 196### if it does not already exist. The target retention within this database 197### is called 'monitor' and is also created with a retention period of 7 days 198### and a replication factor of 1, if it does not exist. In all cases the 199### this retention policy is configured as the default for the database. 200 201[monitor] 202 # Whether to record statistics internally. 203 # store-enabled = true 204 205 # The destination database for recorded statistics 206 # store-database = "_internal" 207 208 # The interval at which to record statistics 209 # store-interval = "10s" 210 211### 212### [http] 213### 214### Controls how the HTTP endpoints are configured. These are the primary 215### mechanism for getting data into and out of InfluxDB. 216### 217 218[http] 219 # Determines whether HTTP endpoint is enabled. 220 # enabled = true 221 222 # The bind address used by the HTTP service. 223 # bind-address = ":8086" 224 225 # Determines whether user authentication is enabled over HTTP/HTTPS. 226 # auth-enabled = false 227 228 # The default realm sent back when issuing a basic auth challenge. 229 # realm = "InfluxDB" 230 231 # Determines whether HTTP request logging is enabled. 232 # log-enabled = true 233 234 # Determines whether the HTTP write request logs should be suppressed when the log is enabled. 235 # suppress-write-log = false 236 237 # When HTTP request logging is enabled, this option specifies the path where 238 # log entries should be written. If unspecified, the default is to write to stderr, which 239 # intermingles HTTP logs with internal InfluxDB logging. 240 # 241 # If influxd is unable to access the specified path, it will log an error and fall back to writing 242 # the request log to stderr. 243 # access-log-path = "" 244 245 # Determines whether detailed write logging is enabled. 246 # write-tracing = false 247 248 # Determines whether the pprof endpoint is enabled. This endpoint is used for 249 # troubleshooting and monitoring. 250 # pprof-enabled = true 251 252 # Enables a pprof endpoint that binds to localhost:6060 immediately on startup. 253 # This is only needed to debug startup issues. 254 # debug-pprof-enabled = false 255 256 # Determines whether HTTPS is enabled. 257 # https-enabled = false 258 259 # The SSL certificate to use when HTTPS is enabled. 260 # https-certificate = "/etc/ssl/influxdb.pem" 261 262 # Use a separate private key location. 263 # https-private-key = "" 264 265 # The JWT auth shared secret to validate requests using JSON web tokens. 266 # shared-secret = "" 267 268 # The default chunk size for result sets that should be chunked. 269 # max-row-limit = 0 270 271 # The maximum number of HTTP connections that may be open at once. New connections that 272 # would exceed this limit are dropped. Setting this value to 0 disables the limit. 273 # max-connection-limit = 0 274 275 # Enable http service over unix domain socket 276 # unix-socket-enabled = false 277 278 # The path of the unix domain socket. 279 # bind-socket = "/var/run/influxdb.sock" 280 281 # The maximum size of a client request body, in bytes. Setting this value to 0 disables the limit. 282 # max-body-size = 25000000 283 284 # The maximum number of writes processed concurrently. 285 # Setting this to 0 disables the limit. 286 # max-concurrent-write-limit = 0 287 288 # The maximum number of writes queued for processing. 289 # Setting this to 0 disables the limit. 290 # max-enqueued-write-limit = 0 291 292 # The maximum duration for a write to wait in the queue to be processed. 293 # Setting this to 0 or setting max-concurrent-write-limit to 0 disables the limit. 294 # enqueued-write-timeout = 0 295 296 297### 298### [ifql] 299### 300### Configures the ifql RPC API. 301### 302 303[ifql] 304 # Determines whether the RPC service is enabled. 305 # enabled = true 306 307 # Determines whether additional logging is enabled. 308 # log-enabled = true 309 310 # The bind address used by the ifql RPC service. 311 # bind-address = ":8082" 312 313 314### 315### [logging] 316### 317### Controls how the logger emits logs to the output. 318### 319 320[logging] 321 # Determines which log encoder to use for logs. Available options 322 # are auto, logfmt, and json. auto will use a more a more user-friendly 323 # output format if the output terminal is a TTY, but the format is not as 324 # easily machine-readable. When the output is a non-TTY, auto will use 325 # logfmt. 326 # format = "auto" 327 328 # Determines which level of logs will be emitted. The available levels 329 # are error, warn, info, and debug. Logs that are equal to or above the 330 # specified level will be emitted. 331 # level = "info" 332 333 # Suppresses the logo output that is printed when the program is started. 334 # The logo is always suppressed if STDOUT is not a TTY. 335 # suppress-logo = false 336 337### 338### [subscriber] 339### 340### Controls the subscriptions, which can be used to fork a copy of all data 341### received by the InfluxDB host. 342### 343 344[subscriber] 345 # Determines whether the subscriber service is enabled. 346 # enabled = true 347 348 # The default timeout for HTTP writes to subscribers. 349 # http-timeout = "30s" 350 351 # Allows insecure HTTPS connections to subscribers. This is useful when testing with self- 352 # signed certificates. 353 # insecure-skip-verify = false 354 355 # The path to the PEM encoded CA certs file. If the empty string, the default system certs will be used 356 # ca-certs = "" 357 358 # The number of writer goroutines processing the write channel. 359 # write-concurrency = 40 360 361 # The number of in-flight writes buffered in the write channel. 362 # write-buffer-size = 1000 363 364 365### 366### [[graphite]] 367### 368### Controls one or many listeners for Graphite data. 369### 370 371[[graphite]] 372 # Determines whether the graphite endpoint is enabled. 373 # enabled = false 374 # database = "graphite" 375 # retention-policy = "" 376 # bind-address = ":2003" 377 # protocol = "tcp" 378 # consistency-level = "one" 379 380 # These next lines control how batching works. You should have this enabled 381 # otherwise you could get dropped metrics or poor performance. Batching 382 # will buffer points in memory if you have many coming in. 383 384 # Flush if this many points get buffered 385 # batch-size = 5000 386 387 # number of batches that may be pending in memory 388 # batch-pending = 10 389 390 # Flush at least this often even if we haven't hit buffer limit 391 # batch-timeout = "1s" 392 393 # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 394 # udp-read-buffer = 0 395 396 ### This string joins multiple matching 'measurement' values providing more control over the final measurement name. 397 # separator = "." 398 399 ### Default tags that will be added to all metrics. These can be overridden at the template level 400 ### or by tags extracted from metric 401 # tags = ["region=us-east", "zone=1c"] 402 403 ### Each template line requires a template pattern. It can have an optional 404 ### filter before the template and separated by spaces. It can also have optional extra 405 ### tags following the template. Multiple tags should be separated by commas and no spaces 406 ### similar to the line protocol format. There can be only one default template. 407 # templates = [ 408 # "*.app env.service.resource.measurement", 409 # # Default template 410 # "server.*", 411 # ] 412 413### 414### [collectd] 415### 416### Controls one or many listeners for collectd data. 417### 418 419[[collectd]] 420 # enabled = false 421 # bind-address = ":25826" 422 # database = "collectd" 423 # retention-policy = "" 424 # 425 # The collectd service supports either scanning a directory for multiple types 426 # db files, or specifying a single db file. 427 # typesdb = "/usr/local/share/collectd" 428 # 429 # security-level = "none" 430 # auth-file = "/etc/collectd/auth_file" 431 432 # These next lines control how batching works. You should have this enabled 433 # otherwise you could get dropped metrics or poor performance. Batching 434 # will buffer points in memory if you have many coming in. 435 436 # Flush if this many points get buffered 437 # batch-size = 5000 438 439 # Number of batches that may be pending in memory 440 # batch-pending = 10 441 442 # Flush at least this often even if we haven't hit buffer limit 443 # batch-timeout = "10s" 444 445 # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 446 # read-buffer = 0 447 448 # Multi-value plugins can be handled two ways. 449 # "split" will parse and store the multi-value plugin data into separate measurements 450 # "join" will parse and store the multi-value plugin as a single multi-value measurement. 451 # "split" is the default behavior for backward compatability with previous versions of influxdb. 452 # parse-multivalue-plugin = "split" 453### 454### [opentsdb] 455### 456### Controls one or many listeners for OpenTSDB data. 457### 458 459[[opentsdb]] 460 # enabled = false 461 # bind-address = ":4242" 462 # database = "opentsdb" 463 # retention-policy = "" 464 # consistency-level = "one" 465 # tls-enabled = false 466 # certificate= "/etc/ssl/influxdb.pem" 467 468 # Log an error for every malformed point. 469 # log-point-errors = true 470 471 # These next lines control how batching works. You should have this enabled 472 # otherwise you could get dropped metrics or poor performance. Only points 473 # metrics received over the telnet protocol undergo batching. 474 475 # Flush if this many points get buffered 476 # batch-size = 1000 477 478 # Number of batches that may be pending in memory 479 # batch-pending = 5 480 481 # Flush at least this often even if we haven't hit buffer limit 482 # batch-timeout = "1s" 483 484### 485### [[udp]] 486### 487### Controls the listeners for InfluxDB line protocol data via UDP. 488### 489 490[[udp]] 491 # enabled = false 492 # bind-address = ":8089" 493 # database = "udp" 494 # retention-policy = "" 495 496 # InfluxDB precision for timestamps on received points ("" or "n", "u", "ms", "s", "m", "h") 497 # precision = "" 498 499 # These next lines control how batching works. You should have this enabled 500 # otherwise you could get dropped metrics or poor performance. Batching 501 # will buffer points in memory if you have many coming in. 502 503 # Flush if this many points get buffered 504 # batch-size = 5000 505 506 # Number of batches that may be pending in memory 507 # batch-pending = 10 508 509 # Will flush at least this often even if we haven't hit buffer limit 510 # batch-timeout = "1s" 511 512 # UDP Read buffer size, 0 means OS default. UDP listener will fail if set above OS max. 513 # read-buffer = 0 514 515### 516### [continuous_queries] 517### 518### Controls how continuous queries are run within InfluxDB. 519### 520 521[continuous_queries] 522 # Determines whether the continuous query service is enabled. 523 # enabled = true 524 525 # Controls whether queries are logged when executed by the CQ service. 526 # log-enabled = true 527 528 # Controls whether queries are logged to the self-monitoring data store. 529 # query-stats-enabled = false 530 531 # interval for how often continuous queries will be checked if they need to run 532 # run-interval = "1s" 533 534### 535### [tls] 536### 537### Global configuration settings for TLS in InfluxDB. 538### 539 540[tls] 541 # Determines the available set of cipher suites. See https://golang.org/pkg/crypto/tls/#pkg-constants 542 # for a list of available ciphers, which depends on the version of Go (use the query 543 # SHOW DIAGNOSTICS to see the version of Go used to build InfluxDB). If not specified, uses 544 # the default settings from Go's crypto/tls package. 545 # ciphers = [ 546 # "TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305", 547 # "TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256", 548 # ] 549 550 # Minimum version of the tls protocol that will be negotiated. If not specified, uses the 551 # default settings from Go's crypto/tls package. 552 # min-version = "tls1.2" 553 554 # Maximum version of the tls protocol that will be negotiated. If not specified, uses the 555 # default settings from Go's crypto/tls package. 556 # max-version = "tls1.2" 557