Documentation

InfluxDB configuration options

Customize your InfluxDB configuration by using influxd configuration flags, setting environment variables, or defining configuration options in a configuration file.

View your runtime server configuration

Use the influx CLI or the InfluxDB API to get the runtime server configuration of your InfluxDB instance.

Server configuration commands require an Operator token.

View your server configuration with the CLI

Use the influx server-config command to retrieve your runtime server configuration.

influx server-config

View your server configuration with the API

Use the /api/v2/config InfluxDB API endpoint to retrieve your runtime server configuration.

GET http://localhost:8086/api/v2/config

Configuration precedence

InfluxDB honors configuration settings using the following precedence:

  1. influxd flags
  2. Environment variables
  3. Configuration file settings

InfluxDB configuration file

When influxd starts, it checks for a file named config.* in the current working directory. The file extension depends on the syntax of the configuration file. InfluxDB configuration files support the following syntaxes:

  • YAML (.yaml, .yml)
  • TOML (.toml)
  • JSON (.json)

To customize the directory path of the configuration file, set the INFLUXD_CONFIG_PATH environment variable to your custom path.

export INFLUXD_CONFIG_PATH=/path/to/custom/config/directory

On startup, influxd will check for a config.* in the INFLUXD_CONFIG_PATH directory.

Example configuration file
query-concurrency: 20
query-queue-size: 15
secret-store: vault
session-length: 120
tls-cert: /path/to/influxdb.crt
tls-key: /path/to/influxdb.key
query-concurrency = 20
query-queue-size = 15
secret-store = "vault"
session-length = 120
tls-cert = "/path/to/influxdb.crt"
tls-key = "/path/to/influxdb.key"
{
  "query-concurrency": 20,
  "query-queue-size": 15,
  "secret-store": "vault",
  "session-length": 120,
  "tls-cert": "/path/to/influxdb.crt",
  "tls-key": "/path/to/influxdb.key"
}

Only non-default settings need to be defined in the configuration file.

Configuration options

To configure InfluxDB, use the following configuration options when starting the influxd service:


assets-path

Override the default InfluxDB user interface (UI) assets by serving assets from the specified directory. Typically, InfluxData internal use only.

influxd flagEnvironment variableConfiguration key
--assets-pathINFLUXD_ASSETS_PATHassets-path
influxd flag
influxd --assets-path=/path/to/custom/assets-dir
Environment variable
export INFLUXD_ASSETS_PATH=/path/to/custom/assets-dir
Configuration file
assets-path: /path/to/custom/assets-dir
assets-path = "/path/to/custom/assets-dir"
{
  "assets-path": "/path/to/custom/assets-dir"
}

bolt-path

Path to the BoltDB database. BoltDB is a key value store written in Go. InfluxDB uses BoltDB to store data including organization and user information, UI data, REST resources, and other key value data.

Default: ~/.influxdbv2/influxd.bolt

influxd flagEnvironment variableConfiguration key
--bolt-pathINFLUXD_BOLT_PATHbolt-path
influxd flag
influxd --bolt-path=~/.influxdbv2/influxd.bolt
Environment variable
export INFLUXD_BOLT_PATH=~/.influxdbv2/influxd.bolt
Configuration file
bolt-path: ~/.influxdbv2/influxd.bolt
bolt-path = "~/.influxdbv2/influxd.bolt"
{
  "bolt-path": "~/.influxdbv2/influxd.bolt"
}

e2e-testing

Add a /debug/flush endpoint to the InfluxDB HTTP API to clear stores. InfluxData uses this endpoint in end-to-end testing.

influxd flagEnvironment variableConfiguration key
--e2e-testingINFLUXD_E2E_TESTINGe2e-testing
influxd flag
influxd --e2e-testing
Environment variable
export INFLUXD_E2E_TESTING=true
Configuration file
e2e-testing: true
e2e-testing = true
{
  "e2e-testing": true
}

engine-path

Path to persistent storage engine files where InfluxDB stores all Time-Structure Merge Tree (TSM) data on disk.

Default: ~/.influxdbv2/engine

influxd flagEnvironment variableConfiguration key
--engine-pathINFLUXD_ENGINE_PATHengine-path
influxd flag
influxd --engine-path=~/.influxdbv2/engine
Environment variable
export INFLUXD_ENGINE_PATH=~/.influxdbv2/engine
Configuration file
engine-path: ~/.influxdbv2/engine
engine-path = "~/.influxdbv2/engine"
{
  "engine-path": "~/.influxdbv2/engine"
}

feature-flags

Enable, disable, or override default values for feature flags.

Feature flags are used to develop and test experimental features and are intended for internal use only.

influxd flagEnvironment variableConfiguration key
--feature-flagsINFLUXD_FEATURE_FLAGSfeature-flags
influxd flag
influxd --feature-flags flag1=value2,flag2=value2
Environment variable
export INFLUXD_FEATURE_FLAGS="{\"flag1\":\value1\",\"flag2\":\"value2\"}"
Configuration file
feature-flags:
  flag1: "value1"
  flag2: "value2"
[feature-flags]
  flag1 = "value1"
  glag2 = "value2"
{
  "feature-flags": {
    "flag1": "value1",
    "flag2": "value2"
  }
}

flux-log-enabled

Include option to show detailed logs for Flux queries, including the following log fields:

  • compiler_type: Compiler used for processing the query (will always be Flux).
  • response_size: Size of the response, in bytes.
  • query: The textual representation of the query.
  • err: Errors encountered while processing the query.
  • stat_total_duration: Total duration to process the query.
  • stat_compile_duration: Duration to compile the query.
  • stat_execute_duration: Duration to execute the query.
  • stat_max_allocated: Maximum amount of memory allocated while processing the query, in - bytes.
  • stat_total_allocated: Total amount of memory allocated while processing the query, in bytes. This includes memory that was freed and then used again.

Default: false

influxd flagEnvironment variableConfiguration key
--flux-log-enabledINFLUXD_FLUX_LOG_ENABLEDflux-log-enabled
influxd flag
influxd --flux-log-enabled
Environment variable
export INFLUXD_FLUX_LOG_ENABLED=true
Configuration file
flux-log-enabled: true
flux-log-enabled = "true"
{
  "flux-log-enabled": "true"
}

hardening-enabled

Enable additional security features in InfluxDB. Default: false

influxd flagEnvironment variableConfiguration key
--hardening-enabledINFLUXD_HARDENING_ENABLEDhardening-enabled
influxd flag
influxd --hardening-enabled
Environment variable
export INFLUXD_HARDENING_ENABLED=true
Configuration file
hardening-enabled: true
hardening-enabled = true
{
  "hardening-enabled": true
}

http-bind-address

Bind address for the InfluxDB HTTP API. Customize the URL and port for the InfluxDB API and UI.

Default: :8086

influxd flagEnvironment variableConfiguration key
--http-bind-addressINFLUXD_HTTP_BIND_ADDRESShttp-bind-address
influxd flag
influxd --http-bind-address=:8086
Environment variable
export INFLUXD_HTTP_BIND_ADDRESS=:8086
Configuration file
http-bind-address: ":8086"
http-bind-address = ":8086"
{
  "http-bind-address": ":8086"
}

http-idle-timeout

Maximum duration the server should keep established connections alive while waiting for new requests. Set to 0 for no timeout.

Default: 3m0s

influxd flagEnvironment variableConfiguration key
--http-idle-timeoutINFLUXD_HTTP_IDLE_TIMEOUThttp-idle-timeout
influxd flag
influxd --http-idle-timeout=3m0s
Environment variable
export INFLUXD_HTTP_IDLE_TIMEOUT=3m0s
Configuration file
http-idle-timeout: 3m0s
http-idle-timeout = "3m0s"
{
  "http-idle-timeout": "3m0s"
}

http-read-header-timeout

Maximum duration the server should try to read HTTP headers for new requests. Set to 0 for no timeout.

Default: 10s

influxd flagEnvironment variableConfiguration key
--http-read-header-timeoutINFLUXD_HTTP_READ_HEADER_TIMEOUThttp-read-header-timeout
influxd flag
influxd --http-read-header-timeout=10s
Environment variable
export INFLUXD_HTTP_READ_HEADER_TIMEOUT=10s
Configuration file
http-read-header-timeout: 10s
http-read-header-timeout = "10s"
{
  "http-read-header-timeout": "10s"
}

http-read-timeout

Maximum duration the server should try to read the entirety of new requests. Set to 0 for no timeout.

Default: 0

Set timeouts specific to your workload

Although no http-read-timeout is set by default, we strongly recommend setting a timeout specific to your workload. HTTP timeouts protect against large amounts of open connections that could potentially hurt performance.

influxd flagEnvironment variableConfiguration key
--http-read-timeoutINFLUXD_HTTP_READ_TIMEOUThttp-read-timeout
influxd flag
influxd --http-read-timeout=10s
Environment variable
export INFLUXD_HTTP_READ_TIMEOUT=10s
Configuration file
http-read-timeout: 10s
http-read-timeout = "10s"
{
  "http-read-timeout": "10s"
}

http-write-timeout

Maximum duration the server should spend processing and responding to write requests. Set to 0 for no timeout.

Default: 0

Set timeouts specific to your workload

Although no http-write-timeout is set by default, we strongly recommend setting a timeout specific to your workload. HTTP timeouts protect against large amounts of open connections that could potentially hurt performance.

influxd flagEnvironment variableConfiguration key
--http-write-timeoutINFLUXD_HTTP_WRITE_TIMEOUThttp-write-timeout
influxd flag
influxd --http-write-timeout=10s
Environment variable
export INFLUXD_HTTP_WRITE_TIMEOUT=10s
Configuration file
http-write-timeout: 10s
http-write-timeout = "10s"
{
  "http-write-timeout": "10s"
}

influxql-max-select-buckets

Maximum number of group by time buckets a SELECT statement can create. 0 allows an unlimited number of buckets.

Default: 0

influxd flagEnvironment variableConfiguration key
--influxql-max-select-bucketsINFLUXD_INFLUXQL_MAX_SELECT_BUCKETSinfluxql-max-select-buckets
influxd flag
influxd --influxql-max-select-buckets=0
Environment variable
export INFLUXD_INFLUXQL_MAX_SELECT_BUCKETS=0
Configuration file
influxql-max-select-buckets: 0
influxql-max-select-buckets = 0
{
  "influxql-max-select-buckets": 0
}

influxql-max-select-point

Maximum number of points a SELECT statement can process. 0 allows an unlimited number of points. InfluxDB checks the point count every second (so queries exceeding the maximum aren’t immediately aborted).

Default: 0

influxd flagEnvironment variableConfiguration key
--influxql-max-select-pointINFLUXD_INFLUXQL_MAX_SELECT_POINTinfluxql-max-select-point
influxd flag
influxd --influxql-max-select-point=0
Environment variable
export INFLUXD_INFLUXQL_MAX_SELECT_POINT=0
Configuration file
influxql-max-select-point: 0
influxql-max-select-point = 0
{
  "influxql-max-select-point": 0
}

influxql-max-select-series

Maximum number of series a SELECT statement can return. 0 allows an unlimited number of series.

Default: 0

influxd flagEnvironment variableConfiguration key
--influxql-max-select-seriesINFLUXD_INFLUXQL_MAX_SELECT_SERIESinfluxql-max-select-series
influxd flag
influxd --influxql-max-select-series=0
Environment variable
export INFLUXD_INFLUXQL_MAX_SELECT_SERIES=0
Configuration file
influxql-max-select-series: 0
influxql-max-select-series = 0
{
  "influxql-max-select-series": 0
}

instance-id

Identifies edge nodes during replication, and prevents collisions if two edge nodes write the same measurement,tagset.

influxd flagEnvironment variableConfiguration key
--instance-idINFLUXD_INSTANCE_IDinstance-id
influxd flag
influxd --instance-id=:8086
Environment variable
export INFLUXD_INSTANCE_ID=:8086
Configuration file
instance-id: ":8086"
instance-id = ":8086"
{
  "instance-id": ":8086"
}

log-level

Log output level. InfluxDB outputs log entries with severity levels greater than or equal to the level specified.

Options: debug, info, error
Default: info

influxd flagEnvironment variableConfiguration key
--log-levelINFLUXD_LOG_LEVELlog-level
influxd flag
influxd --log-level=info
Environment variable
export INFLUXD_LOG_LEVEL=info
Configuration file
log-level: info
log-level = "info"
{
  "log-level": "info"
}

metrics-disabled

Disable the HTTP /metrics endpoint which exposes internal InfluxDB metrics.

Default: false

influxd flagEnvironment variableConfiguration key
--metrics-disabledINFLUXD_METRICS_DISABLEDmetrics-disabled
influxd flag
influxd --metrics-disabled
Environment variable
export INFLUXD_METRICS_DISABLED=true
Configuration file
metrics-disabled: true
metrics-disabled = true
{
  "metrics-disabled": true
}

nats-max-payload-bytes

nats-max-payload-bytes was deprecated in InfluxDB 2.2 and no longer has any effect.

Maximum number of bytes allowed in a NATS message payload.

Default: 1048576

influxd flagEnvironment variableConfiguration key
--nats-max-payload-bytesINFLUXD_NATS_MAX_PAYLOAD_BYTESnats-max-payload-bytes
influxd flag
influxd --nats-max-payload-bytes=1048576
Environment variable
export INFLUXD_NATS_MAX_PAYLOAD_BYTES=1048576
Configuration file
nats-max-payload-bytes: 1048576
nats-max-payload-bytes = 1048576
{
  "nats-max-payload-bytes": 1048576
}

nats-port

nats-port was deprecated in InfluxDB 2.2 and no longer has any effect.

Port for the NATS streaming server. -1 selects a random port.

Default: -1

influxd flagEnvironment variableConfiguration key
--nats-portINFLUXD_NATS_PORTnats-port
influxd flag
influxd --nats-port=-1
Environment variable
export INFLUXD_NATS_PORT=-1
Configuration file
nats-port: -1
nats-port = -1
{
  "nats-port": -1
}

no-tasks

Disable the task scheduler. If problematic tasks prevent InfluxDB from starting, use this option to start InfluxDB without scheduling or executing tasks.

Default: false

influxd flagEnvironment variableConfiguration key
--no-tasksINFLUXD_NO_TASKSno-tasks
influxd flag
influxd --no-tasks
Environment variable
export INFLUXD_NO_TASKS=true
Configuration file
no-tasks: true
no-tasks = true
{
  "no-tasks": true
}

pprof-disabled

Disable the /debug/pprof HTTP endpoint. This endpoint provides runtime profiling data and can be helpful when debugging.

Default: false

influxd flagEnvironment variableConfiguration key
--pprof-disabledINFLUXD_PPROF_DISABLEDpprof-disabled
influxd flag
influxd --pprof-disabled
Environment variable
export INFLUXD_PPROF_DISABLED=true
Configuration file
pprof-disabled: true
pprof-disabled = true
{
  "pprof-disabled": true
}

query-concurrency

Number of queries allowed to execute concurrently. Setting to 0 allows an unlimited number of concurrent queries.

Default: 0

influxd flagEnvironment variableConfiguration key
--query-concurrencyINFLUXD_QUERY_CONCURRENCYquery-concurrency
influxd flag
influxd --query-concurrency=10
Environment variable
export INFLUXD_QUERY_CONCURRENCY=10
Configuration file
query-concurrency: 10
query-concurrency = 10
{
  "query-concurrency": 10
}

query-initial-memory-bytes

Initial bytes of memory allocated for a query.

Default: equal to query-memory-bytes

influxd flagEnvironment variableConfiguration key
--query-initial-memory-bytesINFLUXD_QUERY_INITIAL_MEMORY_BYTESquery-initial-memory-bytes
influxd flag
influxd --query-initial-memory-bytes=10485760
Environment variable
export INFLUXD_QUERY_INITIAL_MEMORY_BYTES=10485760
Configuration file
query-initial-memory-bytes: 10485760
query-initial-memory-bytes = 10485760
{
  "query-initial-memory-bytes": 10485760
}

query-max-memory-bytes

Maximum total bytes of memory allowed for queries.

Default: equal to query-concurrency × query-memory-bytes

influxd flagEnvironment variableConfiguration key
--query-max-memory-bytesINFLUXD_QUERY_MAX_MEMORY_BYTESquery-max-memory-bytes
influxd flag
influxd --query-max-memory-bytes=104857600
Environment variable
export INFLUXD_QUERY_MAX_MEMORY_BYTES=104857600
Configuration file
query-max-memory-bytes: 104857600
query-max-memory-bytes = 104857600
{
  "query-max-memory-bytes": 104857600
}

query-memory-bytes

Maximum bytes of memory allowed for a single query.

Default: unlimited

Must be greater than or equal to query-initial-memory-bytes.

influxd flagEnvironment variableConfiguration key
--query-memory-bytesINFLUXD_QUERY_MEMORY_BYTESquery-memory-bytes
influxd flag
influxd --query-memory-bytes=10485760
Environment variable
export INFLUXD_QUERY_MEMORY_BYTES=10485760
Configuration file
query-memory-bytes: 10485760
query-memory-bytes = 10485760
{
  "query-memory-bytes": 10485760
}

query-queue-size

Maximum number of queries allowed in execution queue. When queue limit is reached, new queries are rejected. Setting to 0 allows an unlimited number of queries in the queue.

Default: 0

influxd flagEnvironment variableConfiguration key
--query-queue-sizeINFLUXD_QUERY_QUEUE_SIZEquery-queue-size
influxd flag
influxd --query-queue-size=10
Environment variable
export INFLUXD_QUERY_QUEUE_SIZE=10
Configuration file
query-queue-size: 10
query-queue-size = 10
{
  "query-queue-size": 10
}

reporting-disabled

Disables sending telemetry data to InfluxData. The InfluxData telemetry page provides information about what data is collected and how InfluxData uses it.

Default: false

influxd flagEnvironment variableConfiguration key
--reporting-disabledINFLUXD_REPORTING_DISABLEDreporting-disabled
influxd flag
influxd --reporting-disabled
Environment variable
export INFLUXD_REPORTING_DISABLED=true
Configuration file
reporting-disabled: true
reporting-disabled = true
{
  "reporting-disabled": true
}

secret-store

Specifies the data store for secrets such as passwords and tokens. Store secrets in either the InfluxDB internal BoltDB or in Vault.

Options: bolt, vault
Default: bolt

influxd flagEnvironment variableConfiguration key
--secret-storeINFLUXD_SECRET_STOREsecret-store
influxd flag
influxd --secret-store=bolt
Environment variable
export INFLUXD_SECRET_STORE=bolt
Configuration file
secret-store: bolt
secret-store = "bolt"
{
  "secret-store": "bolt"
}

session-length

Specifies the Time to Live (TTL) in minutes for newly created user sessions.

Default: 60

influxd flagEnvironment variableConfiguration key
--session-lengthINFLUXD_SESSION_LENGTHsession-length
influxd flag
influxd --session-length=60
Environment variable
export INFLUXD_SESSION_LENGTH=60
Configuration file
session-length: 60
session-length = 60
{
  "session-length": 60
}

session-renew-disabled

Disables automatically extending a user’s session TTL on each request. By default, every request sets the session’s expiration time to five minutes from now. When disabled, sessions expire after the specified session length and the user is redirected to the login page, even if recently active.

Default: false

influxd flagEnvironment variableConfiguration key
--session-renew-disabledINFLUXD_SESSION_RENEW_DISABLEDsession-renew-disabled
influxd flag
influxd --session-renew-disabled
Environment variable
export INFLUXD_SESSION_RENEW_DISABLED=true
Configuration file
session-renew-disabled: true
session-renew-disabled = true
{
  "session-renew-disabled": true
}

sqlite-path

Path to the SQLite database file. The SQLite database is used to store metadata for notebooks and annotations.

Default: influxd.sqlite in the same directory as the bolt-path.

influxd flagEnvironment variableConfiguration key
--sqlite-pathINFLUXD_SQLITE_PATHsqlite-path
influxd flag
influxd --sqlite-path ~/.influxdbv2/influxd.sqlite
Environment variable
export INFLUXD_SQLITE_PATH=~/.influxdbv2/influxd.sqlite
Configuration file
sqlite-path: ~/.influxdbv2/influxd.sqlite
sqlite-path = "~/.influxdbv2/influxd.sqlite"
{
  "sqlite-path": "~/.influxdbv2/influxd.sqlite"
}

storage-cache-max-memory-size

Maximum size (in bytes) a shard’s cache can reach before it starts rejecting writes.

Default: 1073741824

influxd flagEnvironment variableConfiguration key
--storage-cache-max-memory-sizeINFLUXD_STORAGE_CACHE_MAX_MEMORY_SIZEstorage-cache-max-memory-size
influxd flag
influxd --storage-cache-max-memory-size=1073741824
Environment variable
export INFLUXD_STORAGE_CACHE_MAX_MEMORY_SIZE=1073741824
Configuration file
storage-cache-max-memory-size: 1073741824
storage-cache-max-memory-size = 1073741824
{
  "storage-cache-max-memory-size": 1073741824
}

storage-cache-snapshot-memory-size

Size (in bytes) at which the storage engine will snapshot the cache and write it to a TSM file to make more memory available.

Default: 26214400)

influxd flagEnvironment variableConfiguration key
--storage-cache-snapshot-memory-sizeINFLUXD_STORAGE_CACHE_SNAPSHOT_MEMORY_SIZEstorage-cache-snapshot-memory-size
influxd flag
influxd --storage-cache-snapshot-memory-size=26214400
Environment variable
export INFLUXD_STORAGE_CACHE_SNAPSHOT_MEMORY_SIZE=26214400
Configuration file
storage-cache-snapshot-memory-size: 26214400
storage-cache-snapshot-memory-size = 26214400
{
  "storage-cache-snapshot-memory-size": 26214400
}

storage-cache-snapshot-write-cold-duration

Duration at which the storage engine will snapshot the cache and write it to a new TSM file if the shard hasn’t received writes or deletes.

Default: 10m0s

influxd flagEnvironment variableConfiguration key
--storage-cache-snapshot-write-cold-durationINFLUXD_STORAGE_CACHE_SNAPSHOT_WRITE_COLD_DURATIONstorage-cache-snapshot-write-cold-duration
influxd flag
influxd --storage-cache-snapshot-write-cold-duration=10m0s
Environment variable
export INFLUXD_STORAGE_CACHE_SNAPSHOT_WRITE_COLD_DURATION=10m0s
Configuration file
storage-cache-snapshot-write-cold-duration: 10m0s
storage-cache-snapshot-write-cold-duration = "10m0s"
{
  "storage-cache-snapshot-write-cold-duration": "10m0s"
}

storage-compact-full-write-cold-duration

Duration at which the storage engine will compact all TSM files in a shard if it hasn’t received writes or deletes.

Default: 4h0m0s

influxd flagEnvironment variableConfiguration key
--storage-compact-full-write-cold-durationINFLUXD_STORAGE_COMPACT_FULL_WRITE_COLD_DURATIONstorage-compact-full-write-cold-duration
influxd flag
influxd --storage-compact-full-write-cold-duration=4h0m0s
Environment variable
export INFLUXD_STORAGE_COMPACT_FULL_WRITE_COLD_DURATION=4h0m0s
Configuration file
storage-compact-full-write-cold-duration: 4h0m0s
storage-compact-full-write-cold-duration = "4h0m0s"
{
  "storage-compact-full-write-cold-duration": "4h0m0s"
}

storage-compact-throughput-burst

Rate limit (in bytes per second) that TSM compactions can write to disk.

Default: 50331648

influxd flagEnvironment variableConfiguration key
--storage-compact-throughput-burstINFLUXD_STORAGE_COMPACT_THROUGHPUT_BURSTstorage-compact-throughput-burst
influxd flag
influxd --storage-compact-throughput-burst=50331648
Environment variable
export INFLUXD_STORAGE_COMPACT_THROUGHPUT_BURST=50331648
Configuration file
storage-compact-throughput-burst: 50331648
storage-compact-throughput-burst = 50331648
{
  "storage-compact-throughput-burst": 50331648
}

storage-max-concurrent-compactions

Maximum number of full and level compactions that can run concurrently. A value of 0 results in 50% of runtime.GOMAXPROCS(0) used at runtime. Any number greater than zero limits compactions to that value. This setting does not apply to cache snapshotting.

Default: 0

influxd flagEnvironment variableConfiguration key
--storage-max-concurrent-compactionsINFLUXD_STORAGE_MAX_CONCURRENT_COMPACTIONSstorage-max-concurrent-compactions
influxd flag
influxd --storage-max-concurrent-compactions=0
Environment variable
export INFLUXD_STORAGE_MAX_CONCURRENT_COMPACTIONS=0
Configuration file
storage-max-concurrent-compactions: 0
storage-max-concurrent-compactions = 0
{
  "storage-max-concurrent-compactions": 0
}

storage-max-index-log-file-size

Size (in bytes) at which an index write-ahead log (WAL) file will compact into an index file. Lower sizes will cause log files to be compacted more quickly and result in lower heap usage at the expense of write throughput.

Default: 1048576

influxd flagEnvironment variableConfiguration key
--storage-max-index-log-file-sizeINFLUXD_STORAGE_MAX_INDEX_LOG_FILE_SIZEstorage-max-index-log-file-size
influxd flag
influxd --storage-max-index-log-file-size=1048576
Environment variable
export INFLUXD_STORAGE_MAX_INDEX_LOG_FILE_SIZE=1048576
Configuration file
storage-max-index-log-file-size: 1048576
storage-max-index-log-file-size = 1048576
{
  "storage-max-index-log-file-size": 1048576
}

storage-no-validate-field-size

Skip field size validation on incoming write requests.

Default: false

influxd flagEnvironment variableConfiguration key
--storage-no-validate-field-sizeINFLUXD_STORAGE_NO_VALIDATE_FIELD_SIZEstorage-no-validate-field-size
influxd flag
influxd --storage-no-validate-field-size
Environment variable
export INFLUXD_STORAGE_NO_VALIDATE_FIELD_SIZE=true
Configuration file
storage-no-validate-field-size: true
storage-no-validate-field-size = true
{
  "storage-no-validate-field-size": true
}

storage-retention-check-interval

Interval of retention policy enforcement checks.

Default: 30m0s

influxd flagEnvironment variableConfiguration key
--storage-retention-check-intervalINFLUXD_STORAGE_RETENTION_CHECK_INTERVALstorage-retention-check-interval
influxd flag
influxd --storage-retention-check-interval=30m0s
Environment variable
export INFLUXD_STORAGE_RETENTION_CHECK_INTERVAL=30m0s
Configuration file
storage-retention-check-interval: 30m0s
storage-retention-check-interval = "30m0s"
{
  "storage-retention-check-interval": "30m0s"
}

storage-series-file-max-concurrent-snapshot-compactions

Maximum number of snapshot compactions that can run concurrently across all series partitions in a database.

Default: 0

influxd flagEnvironment variableConfiguration key
--storage-series-file-max-concurrent-snapshot-compactionsINFLUXD_STORAGE_SERIES_FILE_MAX_CONCURRENT_SNAPSHOT_COMPACTIONSstorage-series-file-max-concurrent-snapshot-compactions
influxd flag
influxd --storage-series-file-max-concurrent-snapshot-compactions=0
Environment variable
export INFLUXD_STORAGE_SERIES_FILE_MAX_CONCURRENT_SNAPSHOT_COMPACTIONS=0
Configuration file
storage-series-file-max-concurrent-snapshot-compactions: 0
storage-series-file-max-concurrent-snapshot-compactions = 0
{
  "storage-series-file-max-concurrent-snapshot-compactions": 0
}

storage-series-id-set-cache-size

Size of the internal cache used in the TSI index to store previously calculated series results. Cached results are returned quickly rather than needing to be recalculated when a subsequent query with the same tag key/value predicate is executed. Setting this value to 0 will disable the cache and may decrease query performance.

Default: 100

This value should only be increased if the set of regularly used tag key/value predicates across all measurements for a database is larger than 100. An increase in cache size may lead to an increase in heap usage.

influxd flagEnvironment variableConfiguration key
--storage-series-id-set-cache-sizeINFLUXD_STORAGE_SERIES_ID_SET_CACHE_SIZEstorage-series-id-set-cache-size
influxd flag
influxd --storage-series-id-set-cache-size=100
Environment variable
export INFLUXD_STORAGE_SERIES_ID_SET_CACHE_SIZE=100
Configuration file
storage-series-id-set-cache-size: 100
storage-series-id-set-cache-size = 100
{
  "storage-series-id-set-cache-size": 100
}

storage-shard-precreator-advance-period

The time before a shard group’s end-time that the successor shard group is created.

Default: 30m0s

influxd flagEnvironment variableConfiguration key
--storage-shard-precreator-advance-periodINFLUXD_STORAGE_SHARD_PRECREATOR_ADVANCE_PERIODstorage-shard-precreator-advance-period
influxd flag
influxd --storage-shard-precreator-advance-period=30m0s
Environment variable
export INFLUXD_STORAGE_SHARD_PRECREATOR_ADVANCE_PERIOD=30m0s
Configuration file
storage-shard-precreator-advance-period: 30m0s
storage-shard-precreator-advance-period = "30m0s"
{
  "storage-shard-precreator-advance-period": "30m0s"
}

storage-shard-precreator-check-interval

Interval of pre-create new shards check.

Default: 10m0s

influxd flagEnvironment variableConfiguration key
--storage-shard-precreator-check-intervalINFLUXD_STORAGE_SHARD_PRECREATOR_CHECK_INTERVALstorage-shard-precreator-check-interval
influxd flag
influxd --storage-shard-precreator-check-interval=10m0s
Environment variable
export INFLUXD_STORAGE_SHARD_PRECREATOR_CHECK_INTERVAL=10m0s
Configuration file
storage-shard-precreator-check-interval: 10m0s
storage-shard-precreator-check-interval = "10m0s"
{
  "storage-shard-precreator-check-interval": "10m0s"
}

storage-tsm-use-madv-willneed

Inform the kernel that InfluxDB intends to page in mmap’d sections of TSM files.

Default: false

influxd flagEnvironment variableConfiguration key
--storage-tsm-use-madv-willneedINFLUXD_STORAGE_TSM_USE_MADV_WILLNEEDstorage-tsm-use-madv-willneed
influxd flag
influxd --storage-tsm-use-madv-willneed
Environment variable
export INFLUXD_STORAGE_TSM_USE_MADV_WILLNEED=true
Configuration file
storage-tsm-use-madv-willneed: true
storage-tsm-use-madv-willneed = true
{
  "storage-tsm-use-madv-willneed": true
}

storage-validate-keys

Validate incoming writes to ensure keys have only valid unicode characters.

Default: false

influxd flagEnvironment variableConfiguration key
--storage-validate-keysINFLUXD_STORAGE_VALIDATE_KEYSstorage-validate-keys
influxd flag
influxd --storage-validate-keys
Environment variable
export INFLUXD_STORAGE_VALIDATE_KEYS=true
Configuration file
storage-validate-keys: true
storage-validate-keys = true
{
  "storage-validate-keys": true
}

storage-wal-fsync-delay

Duration a write will wait before fsyncing. A duration greater than 0 batches multiple fsync calls. This is useful for slower disks or when WAL write contention is present.

Default: 0s

influxd flagEnvironment variableConfiguration key
--storage-wal-fsync-delayINFLUXD_STORAGE_WAL_FSYNC_DELAYstorage-wal-fsync-delay
influxd flag
influxd --storage-wal-fsync-delay=0s
Environment variable
export INFLUXD_STORAGE_WAL_FSYNC_DELAY=0s
Configuration file
storage-wal-fsync-delay: 0s
storage-wal-fsync-delay = "0s"
{
  "storage-wal-fsync-delay": "0s"
}

storage-wal-max-concurrent-writes

Maximum number writes to the WAL directory to attempt at the same time.

Default: 0 (number of processing units available × 2)

influxd flagEnvironment variableConfiguration key
--storage-wal-max-concurrent-writesINFLUXD_STORAGE_WAL_MAX_CONCURRENT_WRITESstorage-wal-max-concurrent-writes
influxd flag
influxd --storage-wal-max-concurrent-writes=0
Environment variable
export INFLUXD_STORAGE_WAL_MAX_CONCURRENT_WRITES=0
Configuration file
storage-wal-max-concurrent-writes: 0
storage-wal-max-concurrent-writes = 0
{
  "storage-wal-max-concurrent-writes": 0
}

storage-wal-max-write-delay

Maximum amount of time a write request to the WAL directory will wait when the the maximum number of concurrent active writes to the WAL directory has been met. Set to 0 to disable the timeout.

Default: 10m

influxd flagEnvironment variableConfiguration key
--storage-wal-max-write-delayINFLUXD_STORAGE_WAL_MAX_WRITE_DELAYstorage-wal-max-write-delay
influxd flag
influxd --storage-wal-max-write-delay=10m
Environment variable
export INFLUXD_STORAGE_WAL_MAX_WRITE_DELAY=10m
Configuration file
storage-wal-max-write-delay: 10m
storage-wal-max-write-delay = "10m"
{
  "storage-wal-max-write-delay": "10m"
}

storage-write-timeout

Maximum amount of time the storage engine will process a write request before timing out.

Default: 10s

influxd flagEnvironment variableConfiguration key
--storage-write-timeoutINFLUXD_STORAGE_WRITE_TIMEOUTstorage-write-timeout
influxd flag
influxd --storage-write-timeout=10s
Environment variable
export INFLUXD_STORAGE_WRITE_TIMEOUT=10s
Configuration file
storage-write-timeout: 10s
storage-write-timeout = "10s"
{
  "storage-write-timeout": "10s"
}

store

Specifies the data store for REST resources.

Options: disk, memory
Default: disk

For backwards compatibility, this flag also acceptss bolt as a value. When using disk, REST resources are stored on disk using the bolt-path and sqlite-path.

memory is meant for transient environments, such as testing environments, where data persistence does not matter. InfluxData does not recommend using memory in production.

influxd flagEnvironment variableConfiguration key
--storeINFLUXD_STOREstore
influxd flag
influxd --store=bolt
Environment variable
export INFLUXD_STORE=bolt
Configuration file
store: bolt
store = "bolt"
{
  "store": "bolt"
}

strong-passwords

Require passwords to have at least eight characters and include characters from at least three of the following four character classes:

  • uppercase (A-Z)
  • lowercase (a-z)
  • numbers (0-9)
  • special characters (!@#$%^&*()_+)
influxd flagEnvironment variableConfiguration key
--strong-passwordsINFLUXD_STRONG_PASSWORDSstrong-passwords
influxd flag
influxd --strong-passwords
Environment variable
export INFLUXD_STRONG_PASSWORDS=true
Configuration file
strong-passwords: true
strong-passwords = true
{
  "strong-passwords": true
}

testing-always-allow-setup

Ensures the /api/v2/setup endpoint always returns true to allow onboarding. This configuration option is primarily used in continuous integration tests.

Default: false

influxd flagEnvironment variableConfiguration key
--testing-always-allow-setupINFLUXD_TESTING_ALWAYS_ALLOW_SETUPtesting-always-allow-setup
influxd flag
influxd --testing-always-allow-setup
Environment variable
export INFLUXD_TESTING_ALWAYS_ALLOW_SETUP=true
Configuration file
testing-always-allow-setup: true
testing-always-allow-setup = true
{
  "testing-always-allow-setup": true
}

tls-cert

Path to TLS certificate file. Requires the tls-key to be set.

For more information, see Enable TLS encryption.

influxd flagEnvironment variableConfiguration key
--tls-certINFLUXD_TLS_CERTtls-cert
influxd flag
influxd --tls-cert=/path/to/influxdb.crt
Environment variable
export INFLUXD_TLS_CERT=/path/to/influxdb.crt
Configuration file
tls-cert: /path/to/influxdb.crt
tls-cert = "/path/to/influxdb.crt"
{
  "tls-cert": "/path/to/influxdb.crt"
}

tls-key

Path to TLS key file. Requires the tls-cert to be set.

For more information, see Enable TLS encryption.

influxd flagEnvironment variableConfiguration key
--tls-keyINFLUXD_TLS_KEYtls-key
influxd flag
influxd --tls-key=/path/to/influxdb.key
Environment variable
export INFLUXD_TLS_KEY=/path/to/influxdb.key
Configuration file
tls-key: /path/to/influxdb.key
tls-key = "/path/to/influxdb.key"
{
  "tls-key": "/path/to/influxdb.key"
}

tls-min-version

Minimum accepted TLS version.

Default: 1.2

influxd flagEnvironment variableConfiguration key
--tls-min-versionINFLUXD_TLS_MIN_VERSIONtls-min-version
influxd flag
influxd --tls-min-version=1.2
Environment variable
export INFLUXD_TLS_MIN_VERSION=1.2
Configuration file
tls-min-version: "1.2"
tls-min-version = "1.2"
{
  "tls-min-version": "1.2"
}

tls-strict-ciphers

Restrict accepted TLS ciphers to:

  • ECDHE_ECDSA_WITH_AES_128_GCM_SHA256
  • ECDHE_RSA_WITH_AES_128_GCM_SHA256
  • ECDHE_ECDSA_WITH_AES_256_GCM_SHA384
  • ECDHE_RSA_WITH_AES_256_GCM_SHA384
  • ECDHE_ECDSA_WITH_CHACHA20_POLY1305
  • ECDHE_RSA_WITH_CHACHA20_POLY1305

Default: false

influxd flagEnvironment variableConfiguration key
--tls-strict-ciphersINFLUXD_TLS_STRICT_CIPHERStls-strict-ciphers
influxd flag
influxd --tls-strict-ciphers
Environment variable
export INFLUXD_TLS_STRICT_CIPHERS=true
Configuration file
tls-strict-ciphers: true
tls-strict-ciphers = true
{
  "tls-strict-ciphers": true
}

tracing-type

Enable tracing in InfluxDB and specifies the tracing type. Tracing is disabled by default.

Options: log, jaeger

influxd flagEnvironment variableConfiguration key
--tracing-typeINFLUXD_TRACING_TYPEtracing-type
influxd flag
influxd --tracing-type=log
Environment variable
export INFLUXD_TRACING_TYPE=log
Configuration file
tracing-type: log
tracing-type = "log"
{
  "tracing-type": "log"
}

ui-disabled

Disable the InfluxDB user interface (UI). The UI is enabled by default.

Default: false

influxd flagEnvironment variableConfiguration key
--ui-disabledINFLUXD_UI_DISABLEDui-disabled
influxd flag
influxd --ui-disabled
Environment variable
export INFLUXD_UI_DISABLED=true
Configuration file
ui-disabled: true
ui-disabled = true
{
  "ui-disabled": true
}

vault-addr

Specifies the address of the Vault server expressed as a URL and port. For example: https://127.0.0.1:8200/.

influxd flagEnvironment variableConfiguration key
--vault-addrVAULT_ADDRvault-addr
influxd flag
influxd --vault-addr=https://127.0.0.1:8200/
Environment variable
export VAULT_ADDR=https://127.0.0.1:8200/
Configuration file
vault-addr: https://127.0.0.1:8200/
vault-addr = "https://127.0.0.1:8200/"
{
  "vault-addr": "https://127.0.0.1:8200/"
}

vault-cacert

Specifies the path to a PEM-encoded CA certificate file on the local disk. This file is used to verify the Vault server’s SSL certificate. This setting takes precedence over the --vault-capath setting.

influxd flagEnvironment variableConfiguration key
--vault-cacertVAULT_CACERTvault-cacert
influxd flag
influxd  --vault-cacert=/path/to/ca.pem
Environment variable
export VAULT_CACERT=/path/to/ca.pem
Configuration file
vault-cacert: /path/to/ca.pem
vault-cacert = "/path/to/ca.pem"
{
  "vault-cacert": "/path/to/ca.pem"
}

vault-capath

Specifies the path to a directory of PEM-encoded CA certificate files on the local disk. These certificates are used to verify the Vault server’s SSL certificate.

influxd flagEnvironment variableConfiguration key
--vault-capathVAULT_CAPATHvault-capath
influxd flag
influxd --vault-capath=/path/to/certs/
Environment variable
export VAULT_CAPATH=/path/to/certs/
Configuration file
vault-capath: /path/to/certs/
vault-capath = "/path/to/certs/"
{
  "vault-capath": "/path/to/certs/"
}

vault-client-cert

Specifies the path to a PEM-encoded client certificate on the local disk. This file is used for TLS communication with the Vault server.

influxd flagEnvironment variableConfiguration key
--vault-client-certVAULT_CLIENT_CERTvault-client-cert
influxd flag
influxd --vault-client-cert=/path/to/client_cert.pem
Environment variable
export VAULT_CLIENT_CERT=/path/to/client_cert.pem
Configuration file
vault-client-cert: /path/to/client_cert.pem
vault-client-cert = "/path/to/client_cert.pem"
{
  "vault-client-cert": "/path/to/client_cert.pem"
}

vault-client-key

Specifies the path to an unencrypted, PEM-encoded private key on disk which corresponds to the matching client certificate.

influxd flagEnvironment variableConfiguration key
--vault-client-keyVAULT_CLIENT_KEYvault-client-key
influxd flag
influxd --vault-client-key=/path/to/private_key.pem
Environment variable
export VAULT_CLIENT_KEY=/path/to/private_key.pem
Configuration file
vault-client-key: /path/to/private_key.pem
vault-client-key = "/path/to/private_key.pem"
{
  "vault-client-key": "/path/to/private_key.pem"
}

vault-max-retries

Specifies the maximum number of retries when encountering a 5xx error code. The default is 2 (for three attempts in total). Set this to 0 or less to disable retrying.

Default: 2

influxd flagEnvironment variableConfiguration key
--vault-max-retriesVAULT_MAX_RETRIESvault-max-retries
influxd flag
influxd --vault-max-retries=2
Environment variable
export VAULT_MAX_RETRIES=2
Configuration file
vault-max-retries: 2
vault-max-retries = 2
{
  "vault-max-retries": 2
}

vault-client-timeout

Specifies the Vault client timeout.

Default: 60s

influxd flagEnvironment variableConfiguration key
--vault-client-timeoutVAULT_CLIENT_TIMEOUTvault-client-timeout
influxd flag
influxd --vault-client-timeout=60s
Environment variable
export VAULT_CLIENT_TIMEOUT=60s
Configuration file
vault-client-timeout: 60s
vault-client-timeout = "60s"
{
  "vault-client-timeout": "60s"
}

vault-skip-verify

Skip certificate verification when communicating with Vault. Setting this variable voids Vault’s security model and is not recommended.

Default: false

influxd flagEnvironment variableConfiguration key
--vault-skip-verifyVAULT_SKIP_VERIFYvault-skip-verify
influxd flag
influxd --vault-skip-verify
Environment variable
export VAULT_SKIP_VERIFY=true
Configuration file
vault-skip-verify: true
vault-skip-verify = true
{
  "vault-skip-verify": true
}

vault-tls-server-name

Specifies the name to use as the Server Name Indication (SNI) host when connecting via TLS.

influxd flagEnvironment variableConfiguration key
--vault-tls-server-nameVAULT_TLS_SERVER_NAMEvault-tls-server-name
influxd flag
influxd --vault-tls-server-name=secure.example.com
Environment variable
export VAULT_TLS_SERVER_NAME=secure.example.com
Configuration file
vault-tls-server-name: secure.example.com
vault-tls-server-name = "secure.example.com"
{
  "vault-tls-server-name": "secure.example.com"
}

vault-token

Specifies the Vault token use when authenticating with Vault.

influxd flagEnvironment variableConfiguration key
--vault-tokenVAULT_TOKENvault-token
influxd flag
influxd --vault-token=exAmple-t0ken-958a-f490-c7fd0eda5e9e
Environment variable
export VAULT_TOKEN=exAmple-t0ken-958a-f490-c7fd0eda5e9e
Configuration file
vault-token: exAmple-t0ken-958a-f490-c7fd0eda5e9e
vault-token = "exAmple-t0ken-958a-f490-c7fd0eda5e9e"
{
  "vault-token": "exAmple-t0ken-958a-f490-c7fd0eda5e9e"
}

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Flux is going into maintenance mode and will not be supported in InfluxDB 3.0. This was a decision based on the broad demand for SQL and the continued growth and adoption of InfluxQL. We are continuing to support Flux for users in 1.x and 2.x so you can continue using it with no changes to your code. If you are interested in transitioning to InfluxDB 3.0 and want to future-proof your code, we suggest using InfluxQL.

For information about the future of Flux, see the following: