Skip to content

Configuration file

This is the default mfbase 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 = 5148

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

nginxlog_port = 5149

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

POSTGRESQL

[postgresql]

Set flag=0 here if you don't want to use posgresql

in mfbase (at all)

If you change max_connections, you must stop/start mfbase

so that it is taken into account

max_connections is not modified in {{MFMODULE_RUNTIME_HOME}}/var/pgsql/postgresql.conf

only in {{MFMODULE_RUNTIME_HOME}}/tmp/config_auto/postgresql.conf included in it

flag=1 data_dir={{MFMODULE_RUNTIME_HOME}}/var/pgsql max_connections=100 max_locks_per_transaction=64 dbname=metwork port=7432 locale=C

administrative account

username=metwork password=metwork

By default extension plpython3u is not created (it may be dangerous)

Change plpython3u to 1 if you want to create the extension

plpython3u=0

By default extension postgresql_airtide is not created (it is very specific)

Change airtide to 1 if you want to create the extension

airtide=0

By default extension postgis_geohash is not created (it is very specific)

Change geohash to 1 if you want to create the extension

geohash=0

By default extension pg_partman is not created (it is very specific)

Change partman to 1 if you want to create the extension

partman=0

By default extension pg_cron is not created

Change pg_cron to 1 if you want to create the extension

See pg_cron usage here : https://github.com/citusdata/pg_cron

pg_cron=0

CIRCUS

[circus]

Advanced settings, you shouldn't change this

endpoint=ipc://{{MFMODULE_RUNTIME_HOME}}/var/circus.socket

Advanced settings, you shouldn't change this

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

TELEGRAF

[telegraf]

Telegraf statsd port (on this host)

Change this if it's already used

statsd_port=18128

if debug=1, put telegraf in trace mode (WARNING: produce a lot of logs)

debug=0

NGINX

[nginx]

Set flag=0 here if you don't want to use blob storage

in mfbase

flag=1

nginx port for blob storage on mfbase (you can change this)

(but you can't set a value < 1024)

port=18942

maximum size (in MB) for one storage item

upload_max_body_size=100

(if you change this, try to change storage_dir to be on

the same filesystem too)

clientbody_temp_path={{MFMODULE_RUNTIME_HOME}}/var/storage.tmp

number of workers

workers={{MFHARDWARE_NUMBER_OF_CPU_CORES_MULTIPLIED_BY_2}}

do you want access logging (yes: 1, no: 0)

logging=1

Storage directory

(if you change this, try to change clientbody_temp_path to be on

the same filesystem too)

storage_dir={{MFMODULE_RUNTIME_HOME}}/var/storage

HTTP/WEBDAV methods allowed

(coma separated list)

(empty or "null" => no dav methods allowed)

storage_dav_methods=PUT,DELETE,MKCOL,COPY,MOVE

extra networks allowed on /uuid endpoint (in addition to 127.0.0.1/32)

(coma separated list)

("null" => no extra uuid allowed)

example :

uuid_endpoint_extra_allows=5.6.0.0/16,1.2.3.4/32

uuid_endpoint_extra_allows=null

The WebDAV specification only allows creating files in already existing

directories. This directive allows creating all needed intermediate directories.

(set to 0 if you don't want this)

storage_create_full_put_path=1

Can be used to restrict some DELETE operations on the storage tree

see http://nginx.org/en/docs/http/ngx_http_dav_module.html#min_delete_depth

storage_min_delete_depth=0

If set to 1, the nginx autoindex feature will be on for storage dir

(see http://nginx.org/en/docs/http/ngx_http_autoindex_module.html)

storage_autoindex=1

```