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.
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
- AWS
- Google Cloud Service
- Microsoft Azure
- Object Storage
- Logs
- Traces
- DataFusion
- datafusion-num-threads
- datafusion-runtime-type
- datafusion-runtime-disable-lifo-slot
- datafusion-runtime-event-interval
- datafusion-runtime-global-queue-interval
- datafusion-runtime-max-blocking-threads
- datafusion-runtime-max-io-events-per-tick
- datafusion-runtime-thread-keep-alive
- datafusion-runtime-thread-priority
- datafusion-max-parquet-fanout
- datafusion-use-cached-parquet-loader
- datafusion-config
- HTTP
- Memory
- Write-Ahead Log (WAL)
- Replication
- Compaction
- Caching
- Plugins
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 option | Environment variable |
---|---|
--object-store | INFLUXDB3_OBJECT_STORE |
data-dir
Defines the location InfluxDB 3 Enterprise uses to store files locally.
influxdb3 serve option | Environment variable |
---|---|
--data-dir | INFLUXDB3_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 option | Environment variable |
---|---|
--writer-id | INFLUXDB3_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 option | Environment variable |
---|---|
--mode | INFLUXDB3_ENTERPRISE_MODE |
AWS
- aws-access-key-id
- aws-secret-access-key
- aws-default-region
- aws-endpoint
- aws-session-token
- aws-allow-http
- aws-skip-signature
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 option | Environment variable |
---|---|
--aws-access-key-id | AWS_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 option | Environment variable |
---|---|
--aws-secret-access-key | AWS_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 option | Environment variable |
---|---|
--aws-default-region | AWS_DEFAULT_REGION |
aws-endpoint
When using an Amazon S3 compatibility storage service, set this to the endpoint.
influxdb3 serve option | Environment variable |
---|---|
--aws-endpoint | AWS_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 option | Environment variable |
---|---|
--aws-session-token | AWS_SESSION_TOKEN |
aws-allow-http
Allows unencrypted HTTP connections to AWS.
influxdb3 serve option | Environment variable |
---|---|
--aws-allow-http | AWS_ALLOW_HTTP |
aws-skip-signature
If enabled, S3 object stores do not fetch credentials and do not sign requests.
influxdb3 serve option | Environment variable |
---|---|
--aws-skip-signature | AWS_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 option | Environment variable |
---|---|
--google-service-account | GOOGLE_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 option | Environment variable |
---|---|
--azure-storage-account | AZURE_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 option | Environment variable |
---|---|
--azure-storage-access-key | AZURE_STORAGE_ACCESS_KEY |
Object Storage
- bucket
- object-store-connection-limit
- object-store-http2-only
- object-store-http2-max-frame-size
- object-store-max-retries
- object-store-retry-timeout
- object-store-cache-endpoint
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 option | Environment variable |
---|---|
--bucket | INFLUXDB3_BUCKET |
object-store-connection-limit
When using a network-based object store, limits the number of connections to this value.
Default: 16
influxdb3 serve option | Environment variable |
---|---|
--object-store-connection-limit | OBJECT_STORE_CONNECTION_LIMIT |
object-store-http2-only
Forces HTTP/2 connections to network-based object stores.
influxdb3 serve option | Environment variable |
---|---|
--object-store-http2-only | OBJECT_STORE_HTTP2_ONLY |
object-store-http2-max-frame-size
Sets the maximum frame size (in bytes/octets) for HTTP/2 connections.
influxdb3 serve option | Environment variable |
---|---|
--object-store-http2-max-frame-size | OBJECT_STORE_HTTP2_MAX_FRAME_SIZE |
object-store-max-retries
Defines the maximum number of times to retry a request.
influxdb3 serve option | Environment variable |
---|---|
--object-store-max-retries | OBJECT_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 option | Environment variable |
---|---|
--object-store-retry-timeout | OBJECT_STORE_RETRY_TIMEOUT |
object-store-cache-endpoint
Sets the endpoint of an S3-compatible, HTTP/2-enabled object store cache.
influxdb3 serve option | Environment variable |
---|---|
--object-store-cache-endpoint | OBJECT_STORE_CACHE_ENDPOINT |
Logs
log-filter
Sets the filter directive for logs.
influxdb3 serve option | Environment variable |
---|---|
--log-filter | LOG_FILTER |
log-destination
Specifies the destination for logs.
Default: stdout
influxdb3 serve option | Environment variable |
---|---|
--log-destination | LOG_DESTINATION |
log-format
Defines the message format for logs.
This option supports the following values:
full
(default)
Default: full
influxdb3 serve option | Environment variable |
---|---|
--log-format | LOG_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 option | Environment variable |
---|---|
--query-log-size | INFLUXDB3_QUERY_LOG_SIZE |
Traces
- traces-exporter
- traces-exporter-jaeger-agent-host
- traces-exporter-jaeger-agent-port
- traces-exporter-jaeger-service-name
- traces-exporter-jaeger-trace-context-header-name
- traces-jaeger-debug-name
- traces-jaeger-tags
- traces-jaeger-max-msgs-per-second
traces-exporter
Sets the type of tracing exporter.
Default: none
influxdb3 serve option | Environment variable |
---|---|
--traces-exporter | TRACES_EXPORTER |
traces-exporter-jaeger-agent-host
Specifies the Jaeger agent network hostname for tracing.
Default: 0.0.0.0
influxdb3 serve option | Environment variable |
---|---|
--traces-exporter-jaeger-agent-host | TRACES_EXPORTER_JAEGER_AGENT_HOST |
traces-exporter-jaeger-agent-port
Defines the Jaeger agent network port for tracing.
Default: 6831
influxdb3 serve option | Environment variable |
---|---|
--traces-exporter-jaeger-agent-port | TRACES_EXPORTER_JAEGER_AGENT_PORT |
traces-exporter-jaeger-service-name
Sets the Jaeger service name for tracing.
Default: iox-conductor
influxdb3 serve option | Environment variable |
---|---|
--traces-exporter-jaeger-service-name | TRACES_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 option | Environment variable |
---|---|
--traces-exporter-jaeger-trace-context-header-name | TRACES_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 option | Environment variable |
---|---|
--traces-jaeger-debug-name | TRACES_EXPORTER_JAEGER_DEBUG_NAME |
traces-jaeger-tags
Defines a set of key=value
pairs to annotate tracing spans with.
influxdb3 serve option | Environment variable |
---|---|
--traces-jaeger-tags | TRACES_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 option | Environment variable |
---|---|
--traces-jaeger-max-msgs-per-second | TRACES_JAEGER_MAX_MSGS_PER_SECOND |
DataFusion
- datafusion-num-threads
- datafusion-runtime-type
- datafusion-runtime-disable-lifo-slot
- datafusion-runtime-event-interval
- datafusion-runtime-global-queue-interval
- datafusion-runtime-max-blocking-threads
- datafusion-runtime-max-io-events-per-tick
- datafusion-runtime-thread-keep-alive
- datafusion-runtime-thread-priority
- datafusion-max-parquet-fanout
- datafusion-use-cached-parquet-loader
- datafusion-config
datafusion-num-threads
Sets the maximum number of DataFusion runtime threads to use.
influxdb3 serve option | Environment variable |
---|---|
--datafusion-num-threads | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-type | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-disable-lifo-slot | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-event-interval | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-global-queue-interval | INFLUXDB3_DATAFUSION_RUNTIME_GLOBAL_QUEUE_INTERVAL |
datafusion-runtime-max-blocking-threads
Specifies the limit for additional threads spawned by the DataFusion runtime.
influxdb3 serve option | Environment variable |
---|---|
--datafusion-runtime-max-blocking-threads | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-max-io-events-per-tick | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-runtime-thread-keep-alive | INFLUXDB3_DATAFUSION_RUNTIME_THREAD_KEEP_ALIVE |
datafusion-runtime-thread-priority
Sets the thread priority for tokio DataFusion runtime workers.
Default: 10
influxdb3 serve option | Environment variable |
---|---|
--datafusion-runtime-thread-priority | INFLUXDB3_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 option | Environment variable |
---|---|
--datafusion-max-parquet-fanout | INFLUXDB3_DATAFUSION_MAX_PARQUET_FANOUT |
datafusion-use-cached-parquet-loader
Uses a cached parquet loader when reading parquet files from the object store.
influxdb3 serve option | Environment variable |
---|---|
--datafusion-use-cached-parquet-loader | INFLUXDB3_DATAFUSION_USE_CACHED_PARQUET_LOADER |
datafusion-config
Provides custom configuration to DataFusion as a comma-separated list of
key:value
pairs.
influxdb3 serve option | Environment variable |
---|---|
--datafusion-config | INFLUXDB3_DATAFUSION_CONFIG |
HTTP
max-http-request-size
Specifies the maximum size of HTTP requests.
Default: 10485760
influxdb3 serve option | Environment variable |
---|---|
--max-http-request-size | INFLUXDB3_MAX_HTTP_REQUEST_SIZE |
http-bind
Defines the address on which InfluxDB serves HTTP API requests.
Default: 0.0.0.0:8181
influxdb3 serve option | Environment variable |
---|---|
--http-bind | INFLUXDB3_HTTP_BIND_ADDR |
bearer-token
Specifies the bearer token to be set for requests.
influxdb3 serve option | Environment variable |
---|---|
--bearer-token | INFLUXDB3_BEARER_TOKEN |
Memory
ram-pool-data-bytes
Specifies the size of the RAM cache used to store data, in bytes.
Default: 1073741824
influxdb3 serve option | Environment variable |
---|---|
--ram-pool-data-bytes | INFLUXDB3_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 option | Environment variable |
---|---|
--exec-mem-pool-bytes | INFLUXDB3_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 option | Environment variable |
---|---|
--buffer-mem-limit-mb | INFLUXDB3_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 option | Environment variable |
---|---|
--force-snapshot-mem-threshold | INFLUXDB3_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 option | Environment variable |
---|---|
--wal-flush-interval | INFLUXDB3_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 option | Environment variable |
---|---|
--wal-snapshot-size | INFLUXDB3_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 option | Environment variable |
---|---|
--wal-max-write-buffer-size | INFLUXDB3_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 option | Environment variable |
---|---|
--snapshotted-wal-files-to-keep | INFLUXDB3_NUM_WAL_FILES_TO_KEEP |
Replication
read-from-writer-ids
Specifies a comma-separated list of writer identifier prefixes (writer-id
s) to
read WAL files from. [env: =]
influxdb3 serve option | Environment variable |
---|---|
--read-from-writer-ids | INFLUXDB3_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 option | Environment variable |
---|---|
--replication-interval | INFLUXDB3_ENTERPRISE_REPLICATION_INTERVAL |
Compaction
- compactor-id
- compact-from-writer-ids
- run-compactions
- compaction-row-limit
- compaction-max-num-files-per-plan
- compaction-gen2-duration
- compaction-multipliers
- gen1-duration
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 option | Environment variable |
---|---|
--compactor-id | INFLUXDB3_ENTERPRISE_COMPACTOR_ID |
compact-from-writer-ids
Defines a comma-separated list of writer identifier prefixes from which data is compacted.
influxdb3 serve option | Environment variable |
---|---|
--compact-from-writer-ids | INFLUXDB3_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 option | Environment variable |
---|---|
--run-compactions | INFLUXDB3_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 option | Environment variable |
---|---|
--compaction-row-limit | INFLUXDB3_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 option | Environment variable |
---|---|
--compaction-max-num-files-per-plan | INFLUXDB3_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 option | Environment variable |
---|---|
--compaction-gen2-duration | INFLUXDB3_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 option | Environment variable |
---|---|
--compaction-multipliers | INFLUXDB3_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 option | Environment variable |
---|---|
--gen1-duration | INFLUXDB3_GEN1_DURATION |
Caching
- preemptive-cache-age
- parquet-mem-cache-size-mb
- parquet-mem-cache-prune-percentage
- parquet-mem-cache-prune-interval
- disable-parquet-mem-cache
- last-cache-eviction-interval
- distinct-cache-eviction-interval
preemptive-cache-age
Specifies the interval to prefetch into the Parquet cache during compaction.
Default: 3d
influxdb3 serve option | Environment variable |
---|---|
--preemptive-cache-age | INFLUXDB3_PREEMPTIVE_CACHE_AGE |
parquet-mem-cache-size-mb
Defines the size of the in-memory Parquet cache in megabytes (MB).
Default: 1000
influxdb3 serve option | Environment variable |
---|---|
--parquet-mem-cache-size-mb | INFLUXDB3_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 option | Environment variable |
---|---|
--parquet-mem-cache-prune-percentage | INFLUXDB3_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 option | Environment variable |
---|---|
--parquet-mem-cache-prune-interval | INFLUXDB3_PARQUET_MEM_CACHE_PRUNE_INTERVAL |
disable-parquet-mem-cache
Disables the in-memory Parquet cache. By default, the cache is enabled.
influxdb3 serve option | Environment variable |
---|---|
--disable-parquet-mem-cache | INFLUXDB3_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 option | Environment variable |
---|---|
--last-cache-eviction-interval | INFLUXDB3_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 option | Environment variable |
---|---|
--distinct-cache-eviction-interval | INFLUXDB3_DISTINCT_CACHE_EVICTION_INTERVAL |
Plugins
plugin-dir
Specifies the local directory that contains Python plugins and their test files.
influxdb3 serve option | Environment variable |
---|---|
--plugin-dir | INFLUXDB3_PLUGIN_DIR |
Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Enterprise and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.