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
type
default
version
integer
1
0.14.12
Specifies the number of workers.
restart_worker_interval
type
default
version
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
type
default
version
string
nil
0.14.11
Specifies the root directory.
log_level
type
default
version
enum
"info"
0.14.0
Specifies the log level e.g. trace, debug, info, warn, error, or fatal.
suppress_repeated_stacktrace
type
default
version
bool
nil
0.14.0
Suppresses the repeated stacktrace.
emit_error_log_interval
type
default
version
time
nil
0.14.0
Specifies the time value of the emitting of error log interval.
ignore_repeated_log_interval
type
default
version
time
nil
1.10.2
Specify interval to ignore repeated log/stacktrace messages.
Specifies an RPC endpoint. Refer to the RPC article for more detail.
enable_get_dump
type
default
version
bool
nil
0.14.0
Enables to get dump.
process_name
type
default
version
string
nil
0.14.0
Specifies the process name.
enable_msgpack_time_support
type
default
version
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
type
default
version
string
nil
0.14.0
Specifies the file permission in the octal format.
dir_permission
type
default
version
string
nil
0.14.0
Specifies the directory permission in the octal format.
strict_config_value
type
default
version
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
type
default
version
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.
config_include_dir
type
default
version
string
"/etc/fluent/conf.d"
1.19.0
Specifies the additional include directory which is enabled by default. If there is any configuration file under config_include_dir directory, it will be loaded without specifying @include directive.
If you want to disable this auto-load feature, set config_include_dir "" explicitly.
enable_jit (experimental)
type
default
version
bool
false
1.15.2
Enable JIT for worker processes. Internally, this configuration enables Ruby's --jit command-line option.
enable_input_metrics
type
default
version
bool
true
1.14.0
Specifies whether measuring input metrics should be enabled or not. Since v1.19.0, the default value is changed to true.
enable_size_metrics
type
default
version
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.
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.
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.
Specifies none or the log level e.g. trace, debug, info, warn, error, or fatal.
If you set a log level for forced_stacktrace_level, log levels of stacktraces are forced to that level.
Example:
This setting results in the following behavior:
All stacktraces initially with info level (log_level) or higher will be forcibly logged with info level (forced_stacktrace_level).
Note that stacktraces that do not meet log_level are discarded in advance. Thanks to this, there's no concern that trace or debug-level stacktraces being excessively output as info-level logs.
You can use this option to exclude all stacktraces from an alerting system if monitoring Fluentd's log files directly. (You don't need this feature if using @FLUENT_LOG because stacktraces are not routed into the @FLUENT_LOG label.)
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.
--with-source-only (Not supported on Windows): Invokes a fluentd only with input plugins. See Source Only Mode for details.
--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.