Skip to content

Configuration file

This is the default mfdata configuration file.

```ini

STARTUP

[startup]

If flag=0, block the start of the module

flag=1

AUTORESTART

[autorestart]

If flag=1, then the autorestart feature is on

flag=1

MISC

[misc]

Max coredumps size (value for ulimit -c;

if core_size=-1, ulimit -c is not set)

core_size=0

tmp sub-directory (${MFMODULE_RUNTIME_HOME}/tmp) cleaning

0 => no automatic cleaning

x => clean files/directories older than x days

tmp_max_age=2

LOG

[log]

Log minimal level

DEBUG => everything,

INFO => everything but not DEBUG,

WARNING => everything but not DEBUG and INFO,

ERROR => everything but not DEBUG, INFO and WARNING,

CRITICAL => everything but not DEBUG, INFO, WARNING AND ERROR

minimal_level=INFO

Duplicate some log messages in JSON to a specific file (for external

monitoring tool)

If json_file value is :

null => the feature is desactivated

AUTO => the feature is desactivated (because it's not necessary anymore

since 1.2 version)

json_file=null

Minimal level for this json log file

DEBUG => everything,

INFO => everything but not DEBUG,

WARNING => everything but not DEBUG and INFO,

ERROR => everything but not DEBUG, INFO and WARNING,

CRITICAL => everything but not DEBUG, INFO, WARNING AND ERROR

Note: you can't send more messages to json log file than the configured global

minimal_level level (so also change the value of minimal_level key in

these uncommon use-cases)

json_minimal_level=WARNING

Send some log files to mfadmin

null => the feature is desactivated

AUTO => the feature is activated if [admin]/hostname != null

mfadmin_flag=AUTO

Minimal level for mfadmin send

DEBUG => everything,

INFO => everything but not DEBUG,

WARNING => everything but not DEBUG and INFO,

ERROR => everything but not DEBUG, INFO and WARNING,

CRITICAL => everything but not DEBUG, INFO, WARNING AND ERROR

Note: you can't send more messages to mfadmin than the configured global

minimal_level level (so also change the value of minimal_level key in

these uncommon use-cases)

mfadmin_minimal_level=WARNING

Maximum number of rotated files to keep

number_of_rotated_files=5

Max age of a log file before rotation (in seconds)

Default: 86400 (24H)

max_age_before_rotation=86400

Max size of a log file before rotation (in bytes)

Default: 104857600 (100 MB)

max_size_before_rotation=104857600

chmod on log files

Default : 0644

chmod=0644

Try to split stdout/stderr in distinct log files (when it's possible)

(1 => split, 0 => don't split)

try_to_split_stdout_stderr=0

Try to split multiple workers in distinct log files (when it's possible)

(1 => split, 0 => don't split)

try_to_split_multiple_workers=0

VECTOR

[vector]

UDP port used by vector syslog server (for mflog logs)

mflog_port = 5150

UDP port used by vector syslog server (for nginx logs)

nginxlog_port = 5151

ADMIN MODULE

[admin]

Hostname hosting the mfadmin module (if any)

null => no monitoring

localhost => send logs and metrics to the locally installed mfadmin module

* => send logs and metrics to the specified host (which must host an mfadmin

module)

hostname=null

Influxdb HTTP port on mfadmin host

(change this only if you changed influxdb http port on mfadmin host)

influxdb_http_port=18086

ElasticSearch HTTP port on mfadmin host

(change this only if you changed elasticsearch http port on mfadmin host)

(0 => no elasticsearch usage)

elasticsearch_http_port=15603

Loki HTTP port on mfadmin host

(change this only if you changed loki http port on mfadmin host)

(0 => no loki usage)

(13600 => default loki http port on mfadmin)

loki_http_port=0

If send_nginx_logs=1, send nginx access logs to the configured admin hostname

send_nginx_logs=1

If send_mflog_logs=1, send mflog logs to the configured admin hostname

send_mflog_logs=1

DATA IN

[data_in]

Data preprocessing root (without / at the end)

dir={{MFMODULE_RUNTIME_HOME}}/var/in

Max lifetime for a file in trash subdir (in minutes)

trash_max_lifetime=1440

Max lifetime for a file in tmp subdir (in minutes)

tmp_max_lifetime=60

Max lifetime for a file in data_in_dir but

not in trash or tmp subdir (in minutes)

other_max_lifetime=360

CIRCUS

[circus] endpoint = ipc://@@@MFMODULE_RUNTIME_HOME@@@/var/circus.socket pubsub_endpoint = ipc://@@@MFMODULE_RUNTIME_HOME@@@/var/circus_pubsub.socket

Arbiter config setting (default 5 was not enough to prevent "ConflictError: arbiter is already running..." with circus 0.17.2

check_delay = 15

DIRECTORY OBSERVER

[directory_observer]

inactivity timeout : if no event are received after this timeout (in seconds)

a CRITICAL message is logged and the programe is restarted

0 => no timeout

monitor_inactivitytimeout=300

forced poll (advanced configuration option)

forced_poll=300

poll queue limit (advanced configuration option)

poll_queue_limit=10000

ignore default pattern (list separated by ';') specifying file name patterns

to be ignored

ignore=.*.t$;.*.tmp$

REDIS

[redis]

redis will listen on a unix socket

but, if you set a value != 0 below, it will also listen this tcp port

port=0 max_memory=2048 pubsubclient_output_buffer_hard_limit = 1600 pubsubclient_output_buffer_soft_limit = 1200

NGINX

[nginx] flag=1

nginx will listen on a unix socket

but, if you set a value != 0 below, it will also listen this tcp port

port=9091 upload_dir=@@@MFMODULE_RUNTIME_HOME@@@/var/in/incoming clientbody_temp_path=@@@MFMODULE_RUNTIME_HOME@@@/var/in/tmp/nginx

MB

upload_max_body_size=100 workers={{MFHARDWARE_NUMBER_OF_CPU_CORES_MULTIPLIED_BY_2}} logging=1

INTERNAL PLUGINS

[internal_plugins]

Install guess_file_type plugin (during module startup)

1 (default) => yes

0 => no

install_guess_file_type=1

Install switch plugin (during module startup)

1 (default) => yes

0 => no

install_switch=1

Number of worker processes for the switch plugin

{{MFHARDWARE_...}} values are automatically computed

(see corresponding env variables)

switch_numprocesses={{MFHARDWARE_NUMBER_OF_CPU_CORES_DIVIDED_BY_2}}

Set debug mode only for the switch plugin

(useless if you set the logging level to DEBUG globaly)

0 => no

1 => yes (can be really useful if you have some routing issues

as it will dump all tags and rules evaluation in logs)

switch_debug=0

"no match" policy for the switch plugin:

delete => we delete the file

keep => we keep the file in trash

switch_no_match_policy=delete

Keep original basename in trash

(applicable only if switch_no_match_policy=keep)

1 => yes

0 (default) => no

switch_no_match_keep_original_basename=0

Number of worker processes for the guess_file_type plugin

{{MFHARDWARE_...}} values are automatically computed

(see corresponding env variables)

guess_file_type_numprocesses={{MFHARDWARE_NUMBER_OF_CPU_CORES_DIVIDED_BY_2}}

Set debug mode only for the guess_file_type plugin

(useless if you set the logging level to DEBUG globaly)

0 => no

1 => yes

guess_file_type_debug=0

Coma separated list of directory names to watch

(under ${MFDATA_DATA_IN_DIR}, default ${MFMODULE_RUNTIME_HOME}/var/in/)

These directories will be watched by the guess_file_type plugin

(if [internal_plugins]/install_guess_file_type=1)

or directly by the switch plugin

(if [internal_plugins]/install_guess_file_type=0 and

[internal_plugins]/install_swich=1)

Note: if [internal_plugins]/install_guess_file_type=0 and

[internal_plugins]/install_swich=0, this parameter is useless

watched_directories=incoming

TELEGRAF

[telegraf] statsd_port=18126 debug=0

```