Documentation

InfluxDB 3 Enterprise configuration options

InfluxDB 3 Enterprise is in Public Alpha

InfluxDB 3 Enterprise is in public alpha and available for testing and feedback, but is not meant for production use. Both the product and this documentation are works in progress. We welcome and encourage your input about your experience with the alpha and invite you to join our public channels for updates and to share feedback.

Alpha expectations and recommendations

InfluxDB 3 Enterprise lets you customize your server configuration by using influxdb3 serve command options or by setting environment variables.

Configure your server

Pass configuration options to the influxdb serve server using either command options or environment variables. Command options take precedence over environment variables.

Example influxdb3 serve command options
influxdb3 serve \
  --object-store file \
  --data-dir ~/.influxdb3 \
  --writer-id my-host \
  --log-filter info \
  --max-http-request-size 20971520 \
  --aws-allow-http
Example environment variables
export INFLUXDB3_OBJECT_STORE=file
export INFLUXDB3_DB_DIR=~/.influxdb3
export INFLUXDB3_WRITER_IDENTIFIER_PREFIX=my-host
export LOG_FILTER=info
export INFLUXDB3_MAX_HTTP_REQUEST_SIZE=20971520
export AWS_ALLOW_HTTP=true

influxdb3 serve

Server configuration options


General

object-store

Specifies which object storage to use to store Parquet files. This option supports the following values:

  • memory (default)
  • memory-throttled
  • file
  • s3
  • google
  • azure
influxdb3 serve optionEnvironment variable
--object-storeINFLUXDB3_OBJECT_STORE

data-dir

Defines the location InfluxDB 3 Enterprise uses to store files locally.

influxdb3 serve optionEnvironment variable
--data-dirINFLUXDB3_DB_DIR

writer-id

Specifies the writer identifier used as a prefix in all object store file paths. This should be unique for any hosts sharing the same object store configuration–for example, the same bucket.

influxdb3 serve optionEnvironment variable
--writer-idINFLUXDB3_WRITER_IDENTIFIER_PREFIX

mode

Sets the mode to start the server in.

This option supports the following values:

  • read
  • read_write (default)
  • compactor

Default: read_write

influxdb3 serve optionEnvironment variable
--modeINFLUXDB3_ENTERPRISE_MODE

AWS

aws-access-key-id

When using Amazon S3 as the object store, set this to an access key that has permission to read from and write to the specified S3 bucket.

influxdb3 serve optionEnvironment variable
--aws-access-key-idAWS_ACCESS_KEY_ID

aws-secret-access-key

When using Amazon S3 as the object store, set this to the secret access key that goes with the specified access key ID.

influxdb3 serve optionEnvironment variable
--aws-secret-access-keyAWS_SECRET_ACCESS_KEY

aws-default-region

When using Amazon S3 as the object store, set this to the region that goes with the specified bucket if different from the fallback value.

Default: us-east-1

influxdb3 serve optionEnvironment variable
--aws-default-regionAWS_DEFAULT_REGION

aws-endpoint

When using an Amazon S3 compatibility storage service, set this to the endpoint.

influxdb3 serve optionEnvironment variable
--aws-endpointAWS_ENDPOINT

aws-session-token

When using Amazon S3 as an object store, set this to the session token. This is handy when using a federated login or SSO and fetching credentials via the UI.

influxdb3 serve optionEnvironment variable
--aws-session-tokenAWS_SESSION_TOKEN

aws-allow-http

Allows unencrypted HTTP connections to AWS.

influxdb3 serve optionEnvironment variable
--aws-allow-httpAWS_ALLOW_HTTP

aws-skip-signature

If enabled, S3 object stores do not fetch credentials and do not sign requests.

influxdb3 serve optionEnvironment variable
--aws-skip-signatureAWS_SKIP_SIGNATURE

Google Cloud Service

google-service-account

When using Google Cloud Storage as the object store, set this to the path to the JSON file that contains the Google credentials.

influxdb3 serve optionEnvironment variable
--google-service-accountGOOGLE_SERVICE_ACCOUNT

Microsoft Azure

azure-storage-account

When using Microsoft Azure as the object store, set this to the name you see when navigating to All Services > Storage accounts > [name].

influxdb3 serve optionEnvironment variable
--azure-storage-accountAZURE_STORAGE_ACCOUNT

azure-storage-access-key

When using Microsoft Azure as the object store, set this to one of the Key values in the Storage account’s Settings > Access keys.

influxdb3 serve optionEnvironment variable
--azure-storage-access-keyAZURE_STORAGE_ACCESS_KEY

Object Storage

bucket

Sets the name of the object storage bucket to use. Must also set --object-store to a cloud object storage for this option to take effect.

influxdb3 serve optionEnvironment variable
--bucketINFLUXDB3_BUCKET

object-store-connection-limit

When using a network-based object store, limits the number of connections to this value.

Default: 16

influxdb3 serve optionEnvironment variable
--object-store-connection-limitOBJECT_STORE_CONNECTION_LIMIT

object-store-http2-only

Forces HTTP/2 connections to network-based object stores.

influxdb3 serve optionEnvironment variable
--object-store-http2-onlyOBJECT_STORE_HTTP2_ONLY

object-store-http2-max-frame-size

Sets the maximum frame size (in bytes/octets) for HTTP/2 connections.

influxdb3 serve optionEnvironment variable
--object-store-http2-max-frame-sizeOBJECT_STORE_HTTP2_MAX_FRAME_SIZE

object-store-max-retries

Defines the maximum number of times to retry a request.

influxdb3 serve optionEnvironment variable
--object-store-max-retriesOBJECT_STORE_MAX_RETRIES

object-store-retry-timeout

Specifies the maximum length of time from the initial request after which no further retries are be attempted.

influxdb3 serve optionEnvironment variable
--object-store-retry-timeoutOBJECT_STORE_RETRY_TIMEOUT

object-store-cache-endpoint

Sets the endpoint of an S3-compatible, HTTP/2-enabled object store cache.

influxdb3 serve optionEnvironment variable
--object-store-cache-endpointOBJECT_STORE_CACHE_ENDPOINT

Logs

log-filter

Sets the filter directive for logs.

influxdb3 serve optionEnvironment variable
--log-filterLOG_FILTER

log-destination

Specifies the destination for logs.

Default: stdout

influxdb3 serve optionEnvironment variable
--log-destinationLOG_DESTINATION

log-format

Defines the message format for logs.

This option supports the following values:

  • full (default)

Default: full

influxdb3 serve optionEnvironment variable
--log-formatLOG_FORMAT

query-log-size

Defines the size of the query log. Up to this many queries remain in the log before older queries are evicted to make room for new ones.

Default: 1000

influxdb3 serve optionEnvironment variable
--query-log-sizeINFLUXDB3_QUERY_LOG_SIZE

Traces

traces-exporter

Sets the type of tracing exporter.

Default: none

influxdb3 serve optionEnvironment variable
--traces-exporterTRACES_EXPORTER

traces-exporter-jaeger-agent-host

Specifies the Jaeger agent network hostname for tracing.

Default: 0.0.0.0

influxdb3 serve optionEnvironment variable
--traces-exporter-jaeger-agent-hostTRACES_EXPORTER_JAEGER_AGENT_HOST

traces-exporter-jaeger-agent-port

Defines the Jaeger agent network port for tracing.

Default: 6831

influxdb3 serve optionEnvironment variable
--traces-exporter-jaeger-agent-portTRACES_EXPORTER_JAEGER_AGENT_PORT

traces-exporter-jaeger-service-name

Sets the Jaeger service name for tracing.

Default: iox-conductor

influxdb3 serve optionEnvironment variable
--traces-exporter-jaeger-service-nameTRACES_EXPORTER_JAEGER_SERVICE_NAME

traces-exporter-jaeger-trace-context-header-name

Specifies the header name used for passing trace context.

Default: uber-trace-id

influxdb3 serve optionEnvironment variable
--traces-exporter-jaeger-trace-context-header-nameTRACES_EXPORTER_JAEGER_TRACE_CONTEXT_HEADER_NAME

traces-jaeger-debug-name

Specifies the header name used for force sampling in tracing.

Default: jaeger-debug-id

influxdb3 serve optionEnvironment variable
--traces-jaeger-debug-nameTRACES_EXPORTER_JAEGER_DEBUG_NAME

traces-jaeger-tags

Defines a set of key=value pairs to annotate tracing spans with.

influxdb3 serve optionEnvironment variable
--traces-jaeger-tagsTRACES_EXPORTER_JAEGER_TAGS

traces-jaeger-max-msgs-per-second

Specifies the maximum number of messages sent to a Jaeger service per second.

Default: 1000

influxdb3 serve optionEnvironment variable
--traces-jaeger-max-msgs-per-secondTRACES_JAEGER_MAX_MSGS_PER_SECOND

DataFusion

datafusion-num-threads

Sets the maximum number of DataFusion runtime threads to use.

influxdb3 serve optionEnvironment variable
--datafusion-num-threadsINFLUXDB3_DATAFUSION_NUM_THREADS

datafusion-runtime-type

Specifies the DataFusion tokio runtime type.

This option supports the following values:

  • current-thread
  • multi-thread (default)
  • multi-thread-alt

Default: multi-thread

influxdb3 serve optionEnvironment variable
--datafusion-runtime-typeINFLUXDB3_DATAFUSION_RUNTIME_TYPE

datafusion-runtime-disable-lifo-slot

Disables the LIFO slot of the DataFusion runtime.

This option supports the following values:

  • true
  • false
influxdb3 serve optionEnvironment variable
--datafusion-runtime-disable-lifo-slotINFLUXDB3_DATAFUSION_RUNTIME_DISABLE_LIFO_SLOT

datafusion-runtime-event-interval

Sets the number of scheduler ticks after which the scheduler of the DataFusion tokio runtime polls for external events–for example: timers, I/O.

influxdb3 serve optionEnvironment variable
--datafusion-runtime-event-intervalINFLUXDB3_DATAFUSION_RUNTIME_EVENT_INTERVAL

datafusion-runtime-global-queue-interval

Sets the number of scheduler ticks after which the scheduler of the DataFusion runtime polls the global task queue.

influxdb3 serve optionEnvironment variable
--datafusion-runtime-global-queue-intervalINFLUXDB3_DATAFUSION_RUNTIME_GLOBAL_QUEUE_INTERVAL

datafusion-runtime-max-blocking-threads

Specifies the limit for additional threads spawned by the DataFusion runtime.

influxdb3 serve optionEnvironment variable
--datafusion-runtime-max-blocking-threadsINFLUXDB3_DATAFUSION_RUNTIME_MAX_BLOCKING_THREADS

datafusion-runtime-max-io-events-per-tick

Configures the maximum number of events processed per tick by the tokio DataFusion runtime.

influxdb3 serve optionEnvironment variable
--datafusion-runtime-max-io-events-per-tickINFLUXDB3_DATAFUSION_RUNTIME_MAX_IO_EVENTS_PER_TICK

datafusion-runtime-thread-keep-alive

Sets a custom timeout for a thread in the blocking pool of the tokio DataFusion runtime.

influxdb3 serve optionEnvironment variable
--datafusion-runtime-thread-keep-aliveINFLUXDB3_DATAFUSION_RUNTIME_THREAD_KEEP_ALIVE

datafusion-runtime-thread-priority

Sets the thread priority for tokio DataFusion runtime workers.

Default: 10

influxdb3 serve optionEnvironment variable
--datafusion-runtime-thread-priorityINFLUXDB3_DATAFUSION_RUNTIME_THREAD_PRIORITY

datafusion-max-parquet-fanout

When multiple parquet files are required in a sorted way (deduplication for example), specifies the maximum fanout.

Default: 1000

influxdb3 serve optionEnvironment variable
--datafusion-max-parquet-fanoutINFLUXDB3_DATAFUSION_MAX_PARQUET_FANOUT

datafusion-use-cached-parquet-loader

Uses a cached parquet loader when reading parquet files from the object store.

influxdb3 serve optionEnvironment variable
--datafusion-use-cached-parquet-loaderINFLUXDB3_DATAFUSION_USE_CACHED_PARQUET_LOADER

datafusion-config

Provides custom configuration to DataFusion as a comma-separated list of key:value pairs.

influxdb3 serve optionEnvironment variable
--datafusion-configINFLUXDB3_DATAFUSION_CONFIG

HTTP

max-http-request-size

Specifies the maximum size of HTTP requests.

Default: 10485760

influxdb3 serve optionEnvironment variable
--max-http-request-sizeINFLUXDB3_MAX_HTTP_REQUEST_SIZE

http-bind

Defines the address on which InfluxDB serves HTTP API requests.

Default: 0.0.0.0:8181

influxdb3 serve optionEnvironment variable
--http-bindINFLUXDB3_HTTP_BIND_ADDR

bearer-token

Specifies the bearer token to be set for requests.

influxdb3 serve optionEnvironment variable
--bearer-tokenINFLUXDB3_BEARER_TOKEN

Memory

ram-pool-data-bytes

Specifies the size of the RAM cache used to store data, in bytes.

Default: 1073741824

influxdb3 serve optionEnvironment variable
--ram-pool-data-bytesINFLUXDB3_RAM_POOL_DATA_BYTES

exec-mem-pool-bytes

Specifies the size of the memory pool used during query execution, in bytes.

Default: 8589934592

influxdb3 serve optionEnvironment variable
--exec-mem-pool-bytesINFLUXDB3_EXEC_MEM_POOL_BYTES

buffer-mem-limit-mb

Specifies the size limit of the buffered data in MB. If this limit is exceeded, the server forces a snapshot.

Default: 5000

influxdb3 serve optionEnvironment variable
--buffer-mem-limit-mbINFLUXDB3_BUFFER_MEM_LIMIT_MB

force-snapshot-mem-threshold

Specifies the threshold for the internal memory buffer. Supports either a percentage (portion of available memory)of or absolute value (total bytes)–for example: 70% or 100000.

Default: 70%

influxdb3 serve optionEnvironment variable
--force-snapshot-mem-thresholdINFLUXDB3_FORCE_SNAPSHOT_MEM_THRESHOLD

Write-Ahead Log (WAL)

wal-flush-interval

Specifies the interval to flush buffered data to a WAL file. Writes that wait for WAL confirmation take up to this interval to complete.

Default: 1s

influxdb3 serve optionEnvironment variable
--wal-flush-intervalINFLUXDB3_WAL_FLUSH_INTERVAL

wal-snapshot-size

Defines the number of WAL files to attempt to remove in a snapshot. This, multiplied by the interval, determines how often snapshots are taken.

Default: 600

influxdb3 serve optionEnvironment variable
--wal-snapshot-sizeINFLUXDB3_WAL_SNAPSHOT_SIZE

wal-max-write-buffer-size

Specifies the maximum number of write requests that can be buffered before a flush must be executed and succeed.

Default: 100000

influxdb3 serve optionEnvironment variable
--wal-max-write-buffer-sizeINFLUXDB3_WAL_MAX_WRITE_BUFFER_SIZE

snapshotted-wal-files-to-keep

Specifies the number of snapshotted WAL files to retain in the object store. Flushing the WAL files does not clear the WAL files immediately; they are deleted when the number of snapshotted WAL files exceeds this number.

Default: 300

influxdb3 serve optionEnvironment variable
--snapshotted-wal-files-to-keepINFLUXDB3_NUM_WAL_FILES_TO_KEEP

Replication

read-from-writer-ids

Specifies a comma-separated list of writer identifier prefixes (writer-ids) to read WAL files from. [env: =]

influxdb3 serve optionEnvironment variable
--read-from-writer-idsINFLUXDB3_ENTERPRISE_READ_FROM_WRITER_IDS

replication-interval

Defines the interval at which each replica specified in the read-from-writer-ids option is replicated.

Default: 250ms

influxdb3 serve optionEnvironment variable
--replication-intervalINFLUXDB3_ENTERPRISE_REPLICATION_INTERVAL

Compaction

compactor-id

Specifies the prefix in the object store where all compacted data is written. Provide this option only if this server should handle compaction for its own write buffer and any replicas it manages.

influxdb3 serve optionEnvironment variable
--compactor-idINFLUXDB3_ENTERPRISE_COMPACTOR_ID

compact-from-writer-ids

Defines a comma-separated list of writer identifier prefixes from which data is compacted.

influxdb3 serve optionEnvironment variable
--compact-from-writer-idsINFLUXDB3_ENTERPRISE_COMPACT_FROM_WRITER_IDS

run-compactions

Indicates that the server should run compactions. Only a single server should run compactions for a given compactor-id. This option is only applicable if a compactor-id is set.

influxdb3 serve optionEnvironment variable
--run-compactionsINFLUXDB3_ENTERPRISE_RUN_COMPACTIONS

compaction-row-limit

Specifies the soft limit for the number of rows per file that the compactor writes. The compactor may write more rows than this limit.

Default: 1000000

influxdb3 serve optionEnvironment variable
--compaction-row-limitINFLUXDB3_ENTERPRISE_COMPACTION_ROW_LIMIT

compaction-max-num-files-per-plan

Sets the maximum number of files included in any compaction plan.

Default: 500

influxdb3 serve optionEnvironment variable
--compaction-max-num-files-per-planINFLUXDB3_ENTERPRISE_COMPACTION_MAX_NUM_FILES_PER_PLAN

compaction-gen2-duration

Specifies the duration of the first level of compaction (gen2). Later levels of compaction are multiples of this duration. This value should be equal to or greater than the gen1 duration.

Default: 20m

influxdb3 serve optionEnvironment variable
--compaction-gen2-durationINFLUXDB3_ENTERPRISE_COMPACTION_GEN2_DURATION

compaction-multipliers

Specifies a comma-separated list of multiples defining the duration of each level of compaction. The number of elements in the list determines the number of compaction levels. The first element specifies the duration of the first level (gen3); subsequent levels are multiples of the previous level.

Default: 3,4,6,5

influxdb3 serve optionEnvironment variable
--compaction-multipliersINFLUXDB3_ENTERPRISE_COMPACTION_MULTIPLIERS

gen1-duration

Specifies the duration that Parquet files are arranged into. Data timestamps land each row into a file of this duration. Supported durations are 1m, 5m, and 10m. These files are known as “generation 1” files, which the compactor can merge into larger generations.

Default: 10m

influxdb3 serve optionEnvironment variable
--gen1-durationINFLUXDB3_GEN1_DURATION

Caching

preemptive-cache-age

Specifies the interval to prefetch into the Parquet cache during compaction.

Default: 3d

influxdb3 serve optionEnvironment variable
--preemptive-cache-ageINFLUXDB3_PREEMPTIVE_CACHE_AGE

parquet-mem-cache-size-mb

Defines the size of the in-memory Parquet cache in megabytes (MB).

Default: 1000

influxdb3 serve optionEnvironment variable
--parquet-mem-cache-size-mbINFLUXDB3_PARQUET_MEM_CACHE_SIZE_MB

parquet-mem-cache-prune-percentage

Specifies the percentage of entries to prune during a prune operation on the in-memory Parquet cache.

Default: 0.1

influxdb3 serve optionEnvironment variable
--parquet-mem-cache-prune-percentageINFLUXDB3_PARQUET_MEM_CACHE_PRUNE_PERCENTAGE

parquet-mem-cache-prune-interval

Sets the interval to check if the in-memory Parquet cache needs to be pruned.

Default: 1s

influxdb3 serve optionEnvironment variable
--parquet-mem-cache-prune-intervalINFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL

disable-parquet-mem-cache

Disables the in-memory Parquet cache. By default, the cache is enabled.

influxdb3 serve optionEnvironment variable
--disable-parquet-mem-cacheINFLUXDB3_DISABLE_PARQUET_MEM_CACHE

last-cache-eviction-interval

Specifies the interval to evict expired entries from the Last-N-Value cache, expressed as a human-readable time–for example: 20s, 1m, 1h.

Default: 10s

influxdb3 serve optionEnvironment variable
--last-cache-eviction-intervalINFLUXDB3_LAST_CACHE_EVICTION_INTERVAL

distinct-cache-eviction-interval

Specifies the interval to evict expired entries from the distinct value cache, expressed as a human-readable time–for example: 20s, 1m, 1h.

Default: 10s

influxdb3 serve optionEnvironment variable
--distinct-cache-eviction-intervalINFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL

Plugins

plugin-dir

Specifies the local directory that contains Python plugins and their test files.

influxdb3 serve optionEnvironment variable
--plugin-dirINFLUXDB3_PLUGIN_DIR

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.

Read more

InfluxDB 3 Open Source Now in Public Alpha

InfluxDB 3 Open Source is now available for alpha testing, licensed under MIT or Apache 2 licensing.

We are releasing two products as part of the alpha.

InfluxDB 3 Core, is our new open source product. It is a recent-data engine for time series and event data. InfluxDB 3 Enterprise is a commercial version that builds on Core’s foundation, adding historical query capability, read replicas, high availability, scalability, and fine-grained security.

For more information on how to get started, check out: