beegfs/mon/build/dist/etc/beegfs-mon.conf
2025-08-10 01:34:16 +02:00

346 lines
12 KiB
Plaintext

# This is a config file for the BeeGFS Mon daemon.
# http://www.beegfs.com
# --- [Table of Contents] ---
#
# 1) Settings
# 2) Command Line Arguments
# 3) Basic Settings Documentation
# 4) Advanced Settings Documentation
#
# --- Section 1.1: [Basic Settings] ---
#
sysMgmtdHost =
#
# --- Section 1.2: [Advanced Settings] ---
#
dbType = influxdb
dbHostName = localhost
dbHostPort = 8086
dbAuthFile =
# used by influxdb only
dbDatabase = beegfs_mon
dbMaxPointsPerRequest = 5000
dbSetRetentionPolicy = true
dbRetentionDuration = 1d
# used by influxdb V2 only
dbBucket =
# used by cassandra only
cassandraMaxInsertsPerBatch = 25
cassandraTTLSecs = 86400
collectClientOpsByNode = true
collectClientOpsByUser = true
statsRequestIntervalSecs = 5
httpTimeoutMSecs = 1000
nodelistRequestIntervalSecs = 30
curlCheckSSLCertificates = true
connMgmtdPort = 8008
connPortShift = 0
connAuthFile = /etc/beegfs/conn.auth
connDisableAuthentication = false
connFallbackExpirationSecs = 900
connMaxInternodeNum = 3
connInterfacesFile =
connNetFilterFile =
connTcpOnlyFilterFile =
logType = syslog
logLevel = 3
logNoDate = false
logNumLines = 50000
logNumRotatedFiles = 2
logStdFile = /var/log/beegfs-mon.log
runDaemonized = true
tuneNumWorkers = 4
#
# --- Section 2: [Command Line Arguments] ---
#
# Use the command line argument "cfgFile=/etc/anotherconfig.conf" to
# specify a different config file for beegfs_mon.
# All other options in this file can also be used as command line
# arguments, overriding the corresponding config file values.
#
# --- Section 3: [Basic Settings Documentation] ---
#
# [sysMgmtdHost]
# Hostname (or IP) of the host running the management service.
# (See also "connMgmtdPort")
# Default: <none>
#
# --- Section 4: [Advanced Settings Documentation] ---
#
#
# --- Section 4.1: [Mon] ---
#
# [dbType]
# The time series database engine to use. Currently, influxdb and cassandra are supported.
# For most use cases, using InfluxDB is recommended because it is easier to use and more
# lightweight.
# [dbHostName]
# The hostname where the database backend runs. Can also be given as an URL including
# protocol. The protocol can be HTTP (default), or, if an SSL encrypted connection
# is required, HTTPS. Example: https://localhost.
# Default: localhost
# [dbPort]
# The port on which the database backend listens for connections.
# Default: 8086 (which is the default port used by InfluxDB)
# [dbDatabase]
# The database/keyspace name in which the data is stored.
# Default: beegfs_mon
# [dbAuthFile]
# Defines a file where the authentication credentials for the database are stored.
# This file should be set to be readable by root only. When mon was installed via
# package, the file was already created and placed at /etc/beegfs/beegfs-mon.auth
# Default: <none>
# [dbMaxPointsPerRequest]
# Sets the max number of points that will be cached until the whole
# set is sent via HTTP to the database backend. After a whole set of statistics has been
# collected, the cached points will be sent in any case. Small values lead to
# many sent requests, and thus, packages, too big ones can exceed certain limits and may
# cause failure. A few thousands is a sensible value here. Only used for InfluxDB.
# Default: 5000
# [dbSetRetentionPolicy]
# Determines whether the service shall automatically apply a retention policy
# to the database at startup. This should only be set to false if the user wants
# to configure the database by himself and wants to have a more sophisticated
# retention policy. Only used for InfluxDB.
# Default: true
# [dbRetentionDuration]
# Defines how long the data points shall be stored until dropped by InfluxDB.
# This is only relevant if dbSetRetentionPolicy is set to true.
# Valid values are in the form ^[0-9]+[smhdw]$, while the suffixes mean
# seconds, minutes, hours, days, weeks. 2d, for example, means two days.
# Only used for InfluxDB. For more details please consult the InfluxDB documentation.
# Default: 1d (one day)
# # [dbBucket]
# The bucket name in which the data is stored.
# [cassandraSetMaxInsertsPerBatch]
# Sets the max number of INSERT statements that will be batched together for execution
# using the thirdparty client library for cassandra. It only accepts a maximum of a few
# thousand bytes by default, so a sensible order of magnitude is around 20 to 30. If
# you get warnings in the log like "Batch for [beegfs_mon.meta,
# beegfs_mon.highresmeta] is of size X, exceeding specified threshold of 5120 by Y.",
# you can try to reduce this number. Only used for Cassandra.
# Default: 25
# [cassandraTTLSecs]
# Defines the number of seconds the data rows shall be stored until marked for removal
# by the database engine. Only used for Cassandra.
# Default: 86400 (one day)
# [collectClientOpsByNode]
# Sets wether mon collects the client ops stats from the nodes, grouped by the client node IP.
# Default: true
# [collectClientOpsByUser]
# Sets wether mon collects the client ops stats from the nodes, grouped by the clients user ID.
# Default: true
# [statsRequestIntervalSecs]
# Sets the waiting interval in seconds between the stats query operation in seconds.
# This does not affect the the high resolution stats (which is always measured in
# one second intervals).
# Default: 5
# [httpTimeoutMSecs]
# Defines the timeout for the http requests that are sent to the InfluxDB daemon
# in milliseconds.
# Default: 1000
# [nodelistRequestIntervalSecs]
# Sets the waiting interval in seconds between the nodelist requests operation
# in seconds. This defines how often the service pulls the newest node lists from
# the management daemon.
# Default: 30
# [curlCheckSSLCertificates]
# Decides whether the servers certificate and hostname shall be checked to be valid when using
# an SSL encrypted connection to an InfluxDB host.
# Disable when using self signed certificates without proper CA certificates.
# Default: true
#
# --- Section 4.2: [Connections & Communication] ---
#
# [connMgmtdPort]
# The UDP and TCP port of the management node.
# Default: 8008
# [connPortShift]
# Shifts all following UDP and TCP ports according to the specified value.
# Intended to make port configuration easier in case you do not want to
# configure each port individually.
# Default: 0
# [connAuthFile]
# The path to a file that contains a shared secret for connection based
# authentication. Only peers that use the same shared secret will be able to
# connect.
# Default: <none>
# [connDisableAuthentication]
# If set to true, explicitly disables connection authentication and allow the
# service to run without a connAuthFile. Running BeeGFS without connection
# authentication is considered insecure and is not recommended.
# Default: false
# [connFallbackExpirationSecs]
# The time in seconds after which a connection to a fallback interface expires.
# When a fallback connection expires, the system will try to establish a new
# connection to the other hosts primary interface (falling back to another
# interface again if necessary).
# Note: The priority of node interfaces can be configured using the
# "connInterfacesFile" parameter.
# Default: 900
# [connMaxInternodeNum]
# The maximum number of simultaneous connections to the same node.
# Default: 3
# [connInterfacesFile]
# The path to a text file that specifies the names of the interfaces which
# may be used for communication by other nodes. One interface per line. The
# line number also defines the priority of an interface.
# Example: "ib0" in the first line, "eth0" in the second line.
# Values: This setting is optional. If unspecified, all available interfaces
# will be published and priorities will be assigned automatically.
# Note: This information is sent to other hosts to inform them about possible
# communication paths. See connRestrictOutboundInterfaces for this
# configuration's potential effect on outbound connections.
# Default: <none>
# [connRestrictOutboundInterfaces]
# The default behavior of BeeGFS is to use any available network interface
# to establish an outbound connection to a node, according to the TCP/IP
# configuration of the operating system. When connRestrictOutboundInterfaces
# is set to true, the network interfaces used for outbound connections are
# limited to the values specified by connInterfacesFile or connInterfacesList.
# The operating system routing tables are consulted to determine which
# interface to use for a particular node's IP address. If there is no
# route from the configured interfaces that is suitable for a node's IP
# address then the connection will fail to be established.
# Default: false
# [connNoDefaultRoute]
# When connRestrictOutboundInterfaces is true, the routing logic will use
# the default route for a Node's IP address when no specific route for that
# address is found in the routing tables. This can be problematic during a
# failure situation, as the default route is not appropriate to use for a
# subnet that is accessible from an interface that has failed.
# connNoDefaultRoute is a comma-separated list of CIDRs that should never
# be accessed via the default route.
# Default: 0.0.0.0/0. This prevents the default route from ever being used.
# [connNetFilterFile]
# The path to a text file that specifies allowed IP subnets, which may be used
# for outgoing communication. One subnet per line in classless notation (IP
# address and number of significant bits).
# Example: "192.168.10.0/24" in the first line, "192.168.20.0/24" in the second
# line.
# Values: This setting is optional. If unspecified, all addresses are allowed
# for outgoing communication.
# Default: <none>
# [connTcpOnlyFilterFile]
# The path to a text file that specifies IP address ranges to which no RDMA connection should be
# established. This is useful e.g. for environments where all hosts support RDMA, but some hosts
# cannot connect via RDMA to some other hosts.
# Example: "192.168.10.0/24" in the first line, "192.168.20.0/24" in the second
# line.
# Values: This setting is optional.
# Default: <none>
#
# --- Section 4.3: [Logging] ---
#
# [logType]
# Defines the logger type. This can either be "syslog" to send log messages to
# the general system logger or "logfile". If set to logfile, logs will be written
# to logStdFile.
# Default: logfile
# [logLevel]
# Defines the amount of output messages. The higher this level, the more
# detailed the log messages will be.
# Note: Levels above 2 might decrease performance.
# Default: 2 (Max: 5)
# [logNoDate]
# Defines whether "date & time" (=false) or the current "time only" (=true)
# should be logged.
# Default: false
# [logNumLines]
# The maximum number of lines per log file.
# Default: 50000
# [logNumRotatedFiles]
# The number of old files to keep when "logNumLines" is reached and the log file
# is rewritten. (Log rotation)
# Default: 2
# [logStdFile]
# The path and filename of the log file for standard log messages. If no name
# is specified, the messages will be written to the console.
# Default: /var/log/beegfs-mon.log
#
# --- Section 4.4: [Startup] ---
#
# [runDaemonized]
# Detach the process from its parent (and from stdin/-out/-err).
# Default: true
#
# --- Section 4.5: [Tuning] ---
#
# [tuneNumWorkers]
# The number of worker threads. Should be at least 3. A value of up to twice the
# number of CPU cores of your machine is the recommended choice.
# Default: 4