System Configuration

This article describes Fluentd's system configurations for the <system> section and command-line options.

Overview

System Configuration is one way to set up system-wide configuration such as enabling RPC, multiple workers, etc.

Parameters

workers

typedefaultversion

integer

1

0.14.12

Specifies the number of workers.

restart_worker_interval

typedefaultversion

time

0

1.15.0

Specifies interval to restart workers that has stopped for some reason. By default, Fluentd immediately restarts stopped workers. You can use this option for stopping workers for a certain period of time.

root_dir

typedefaultversion

string

nil

0.14.11

Specifies the root directory.

log_level

typedefaultversion

enum

"info"

0.14.0

Specifies the log level e.g. trace, debug, info, warn, error, or fatal.

suppress_repeated_stacktrace

typedefaultversion

bool

nil

0.14.0

Suppresses the repeated stacktrace.

emit_error_log_interval

typedefaultversion

time

nil

0.14.0

Specifies the time value of the emitting of error log interval.

ignore_repeated_log_interval

typedefaultversion

time

nil

1.10.2

Specify interval to ignore repeated log/stacktrace messages.

See also Logging article.

ignore_same_log_interval

typedefaultversion

time

nil

1.11.3

Specify interval to ignore same log/stacktrace messages.

See also Logging article.

suppress_config_dump

typedefaultversion

bool

nil

0.14.0

Suppresses the configuration dump.

log_event_verbose

typedefaultversion

bool

nil

0.14.12

Logs event verbosely.

without_source

typedefaultversion

bool

nil

0.14.0

Invokes fluentd without input plugins.

rpc_endpoint

typedefaultversion

string

nil

0.14.0

Specifies an RPC endpoint. Refer to the RPC article for more detail.

enable_get_dump

typedefaultversion

bool

nil

0.14.0

Enables to get dump.

process_name

typedefaultversion

string

nil

0.14.0

Specifies the process name.

enable_msgpack_time_support

typedefaultversion

bool

false

1.9.0

Allows Time object in buffer's MessagePack serde. This is useful when the log contains multiple time fields.

file_permission

typedefaultversion

string

nil

0.14.0

Specifies the file permission in the octal format.

dir_permission

typedefaultversion

string

nil

0.14.0

Specifies the directory permission in the octal format.

strict_config_value

typedefaultversion

bool

nil

1.8.0

Parses config values strictly. Invalid numerical or boolean values are not allowed. Fluentd raises configuration error instead of replacing them with 0 or true implicitly.

disable_shared_socket

typedefaultversion

bool

nil

1.12.1

Force disable the shared socket which is for listening a same port across multiple worker processes. When the shared socket is enabled (it's the default behavior), a socket is always created to enable workers to communicate with the supervisor. On Windows, it consumes a dynamic (a.k.a ephemeral) TCP port. If you don't prefer it, set this option as true. When it's disabled, you may not use plugins that listen a port such as in_forward, in_http and in_syslog.

enable_jit (experimental)

typedefaultversion

bool

false

1.15.2

Enable JIT for worker processes. Internally, this configuration enables Ruby's --jit command-line option.

<log> section

format

typedefaultversion

enum

text

0.14.20

Specifies the logging format e.g. text or json.

time_format

typedefaultversion

string

%Y-%m-%d %H:%M:%S %z

0.14.20

Specifies time format.

rotate_age

typedefaultversion

enum or integer

7

1.13.0

Specifies daily, weekly, monthly or integer which indicates age of log rotation.

By default, Fluentd does not rotate log files. You need to specify rotate_age or rotate_size options explicitly to enable log rotation.

NOTE: When enabling log rotation on Windows, log files are separated into log-supervisor-0.log, log-0.log, ..., log-N.log where N is generation - 1 due to the system limitation. Windows does not permit delete and rename files simultaneously owned by another process.

Please see also Log Rotation Setting.

rotate_size

typedefaultversion

size

1048576

1.13.0

Specifies log file size limitation.

By default, Fluentd does not rotate log files. You need to specify rotate_age or rotate_size options explicitly to enable log rotation.

NOTE: When enabling log rotation on Windows, log files are separated into log-supervisor-0.log, log-0.log, ..., log-N.log where N is generation - 1 due to the system limitation. Windows does not permit delete and rename files simultaneously owned by another process.

Please see also Log Rotation Setting.

enable_input_metrics

typedefaultversion

bool

nil

1.14.0

Specifies whether measuring input metrics should be enabled or not.

enable_size_metrics

typedefaultversion

bool

nil

1.14.0

Specifies whether measuring record size metrics should be enabled or not. It can be useful for calculating flow rate on Fluentd instances.

Fluent::SystemConfig::Mixin Methods

.system_config

Returns Fluent::SystemConfig instance.

For code example, please refer to api-plugin-base's .system_config description.

.system_config_override(options = {})

Overwrites the system configuration.

This is for internal use and plugin testing.

For code example, please refer to api-plugin-base's .system_config_override description.

Command-Line Options

  • -s, --setup [DIR=/etc/fluent]: Installs sample configuration file to the directory.

  • -c, --config PATH: Specifies the configuration file path. (Default: /etc/fluent/fluent.conf)

  • --dry-run: Verifies the fluentd setup without launching.

  • --show-plugin-config=PLUGIN (obsolete): Use fluent-plugin-config-format command instead.

  • -p, --plugin DIR: Specifies the plugins' directory.

  • -I PATH: Specifies the library path.

  • -r NAME: Loads the library.

  • -d, --daemon PIDFILE: Daemonizes the fluentd process.

  • --under-supervisor: Runs the fluent worker under supervisor (this option is NOT for users).

  • --no-supervisor: Runs the fluent worker without supervisor.

  • --workers NUM: Specifies the number of workers under supervisor.

  • --user USER: Changes user.

  • --group GROUP: Changes group.

  • --umask UMASK: Specifies umask to use, in octal form. Defaults to 0.

  • -o, --log PATH: Specifies the log file path.

  • --log-rotate-age AGE: Specifies the generations to keep rotated log files.

  • --log-rotate-size BYTES: Sets the byte size to rotate log files.

  • --log-event-verbose: Enables the events logging during startup/shutdown.

  • -i CONFIG_STRING, --inline-config CONFIG_STRING: Specifies the inlined configuration which is appended to the config file on-the-fly.

  • --emit-error-log-interval SECONDS: Suppresses the interval (seconds) to emit error logs.

  • --suppress-repeated-stacktrace [VALUE]: Suppress the repeated stacktrace.

  • --without-source: Invokes fluentd without input plugins.

  • --use-v1-config: Uses v1 configuration format (default).

  • --use-v0-config: Uses v0 configuration format.

  • --strict-config-value: Parses the configuration values strictly. Invalid numerical or boolean values are rejected. Fluentd raises configuration error exceptions instead of replacing them with 0 or true implicitly.

  • -v, --verbose: Increases the verbosity level (-v: debug, -vv: trace).

  • -q, --quiet: Decreases the verbosity level (-q: warn, -qq: error).

  • --suppress-config-dump: Suppresses the configuration dumping on start.

  • -g, --gemfile GEMFILE: Specifies the Gemfile path.

  • -G, --gem-path GEM_INSTALL_PATH: Specifies the Gemfile install path. (Default: $(dirname $gemfile)/vendor/bundle)

If this article is incorrect or outdated, or omits critical information, please let us know. Fluentd is an open-source project under Cloud Native Computing Foundation (CNCF). All components are available under the Apache 2 License.

Last updated