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