Documentation

Configure InfluxDB Enterprise clusters

This page contains general information about configuring InfluxDB Enterprise clusters. For complete listings and descriptions of the configuration settings, see:

Use configuration files

Display the default configurations

The following commands print out a TOML-formatted configuration with all available options set to their default values.

Meta node configuration

influxd-meta config

Data node configuration

influxd config

Create a configuration file

On POSIX systems, generate a new configuration file by redirecting the output of the command to a file.

New meta node configuration file:

influxd-meta config > /etc/influxdb/influxdb-meta-generated.conf

New data node configuration file:

influxd config > /etc/influxdb/influxdb-generated.conf

Preserve custom settings from older configuration files when generating a new configuration file with the -config option. For example, this overwrites any default configuration settings in the output file (/etc/influxdb/influxdb.conf.new) with the configuration settings from the file (/etc/influxdb/influxdb.conf.old) passed to -config:

influxd config -config /etc/influxdb/influxdb.conf.old > /etc/influxdb/influxdb.conf.new

Launch the process with a configuration file

There are two ways to launch the meta or data processes using your customized configuration file.

  • Point the process to the desired configuration file with the -config option.

    To start the meta node process with /etc/influxdb/influxdb-meta-generate.conf:

      influxd-meta -config /etc/influxdb/influxdb-meta-generate.conf
    

    To start the data node process with /etc/influxdb/influxdb-generated.conf:

      influxd -config /etc/influxdb/influxdb-generated.conf
    
  • Set the environment variable INFLUXDB_CONFIG_PATH to the path of your configuration file and start the process.

    To set the INFLUXDB_CONFIG_PATH environment variable and launch the data process using INFLUXDB_CONFIG_PATH for the configuration file path:

      export INFLUXDB_CONFIG_PATH=/root/influxdb.generated.conf
      echo $INFLUXDB_CONFIG_PATH
      /root/influxdb.generated.conf
      influxd
    

If set, the command line -config path overrides any environment variable path. If you do not supply a configuration file, InfluxDB uses an internal default configuration (equivalent to the output of influxd config and influxd-meta config).

Note for 1.3, the influxd-meta binary, if no configuration is specified, will check the INFLUXDB_META_CONFIG_PATH. If that environment variable is set, the path will be used as the configuration file. If unset, the binary will check the ~/.influxdb and /etc/influxdb folder for an influxdb-meta.conf file. If it finds that file at either of the two locations, the first will be loaded as the configuration file automatically.
This matches a similar behavior that the open source and data node versions of InfluxDB already follow.

Configure InfluxDB using the configuration file (influxdb.conf) and environment variables. The default value for each configuration setting is shown in the documentation. Commented configuration options use the default value.

Configuration settings with a duration value support the following duration units:

  • ns (nanoseconds)
  • us or µs (microseconds)
  • ms (milliseconds)
  • s (seconds)
  • m (minutes)
  • h (hours)
  • d (days)
  • w (weeks)

Environment variables

All configuration options can be specified in the configuration file or in environment variables. Environment variables override the equivalent options in the configuration file. If a configuration option is not specified in either the configuration file or in an environment variable, InfluxDB uses its internal default configuration.

In the sections below we name the relevant environment variable in the description for the configuration setting. Environment variables can be set in /etc/default/influxdb-meta and /etc/default/influxdb.

Note: To set or override settings in a config section that allows multiple configurations (any section with double_brackets ([[...]]) in the header supports multiple configurations), the desired configuration must be specified by ordinal number. For example, for the first set of [[graphite]] environment variables, prefix the configuration setting name in the environment variable with the relevant position number (in this case: 0):

INFLUXDB_GRAPHITE_0_BATCH_PENDING
INFLUXDB_GRAPHITE_0_BATCH_SIZE
INFLUXDB_GRAPHITE_0_BATCH_TIMEOUT
INFLUXDB_GRAPHITE_0_BIND_ADDRESS
INFLUXDB_GRAPHITE_0_CONSISTENCY_LEVEL
INFLUXDB_GRAPHITE_0_DATABASE
INFLUXDB_GRAPHITE_0_ENABLED
INFLUXDB_GRAPHITE_0_PROTOCOL
INFLUXDB_GRAPHITE_0_RETENTION_POLICY
INFLUXDB_GRAPHITE_0_SEPARATOR
INFLUXDB_GRAPHITE_0_TAGS
INFLUXDB_GRAPHITE_0_TEMPLATES
INFLUXDB_GRAPHITE_0_UDP_READ_BUFFER

For the Nth Graphite configuration in the configuration file, the relevant environment variables would be of the form INFLUXDB_GRAPHITE_(N-1)_BATCH_PENDING. For each section of the configuration file the numbering restarts at zero.

GOMAXPROCS environment variable

Note: GOMAXPROCS cannot be set using the InfluxDB configuration file. It can only be set as an environment variable.

The GOMAXPROCS Go language environment variable can be used to set the maximum number of CPUs that can execute simultaneously.

The default value of GOMAXPROCS is the number of CPUs that are visible to the program on startup (based on what the operating system considers to be a CPU). For a 32-core machine, the GOMAXPROCS value would be 32. You can override this value to be less than the maximum value, which can be useful in cases where you are running the InfluxDB along with other processes on the same machine and want to ensure that the database doesn’t negatively affect those processes.

Note: Setting GOMAXPROCS=1 eliminates all parallelization.


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: