Documentation

InfluxDB configuration options

InfluxDB OSS only

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

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

Define the 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: /users/user/.influxdbv2/influxd.bolt
bolt-path = "/users/user/.influxdbv2/influxd.bolt"
{
  "bolt-path": "/users/user/.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

Define the 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: /users/user/.influxdbv2/engine
engine-path = "/users/user/.influxdbv2/engine"
{
  "engine-path": "/users/user/.influxdbv2/engine"
}

http-bind-address

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

Default: :9999

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

log-level

Define the 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"
}

new-meta-store

Enable the new meta store.

Default: false

influxd flagEnvironment variableConfiguration key
--new-meta-storeINFLUXD_NEW_META_STOREnew-meta-store
influxd flag
influxd --new-meta-store
Environment variable
export INFLUXD_NEW_META_STORE=true
Configuration file
new-meta-store: true
new-meta-store = true
{
  "new-meta-store": true
}

new-meta-store-read-only

Toggle read-only mode for the new meta store. If true, reads are duplicated between old and new meta stores (if new meta store is enabled).

Default: true

influxd flagEnvironment variableConfiguration key
--new-meta-store-read-onlyINFLUXD_NEW_META_STORE_READ_ONLYnew-meta-store-read-only
influxd flag
influxd --new-meta-store-read-only
Environment variable
export INFLUXD_NEW_META_STORE_READ_ONLY=true
Configuration file
new-meta-store-read-only: true
new-meta-store-read-only = true
{
  "new-meta-store-read-only": true
}

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
}

query-concurrency

Number of queries allowed to execute concurrently.

Default: 10

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.

Default: 10

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
}

store

Specifies the data store for REST resources.

Options: bolt, memory
Default: bolt

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"
}

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"
}

tracing-type

Enables 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"
}

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 authentication 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"
}

New! Cloud or OSS?