Skip to content

Configuration file

This is the default mfbase configuration file.

###################
##### 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
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

##################
##### 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


####################
##### 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