System Configuration Reference
This is a reference for the system configuration file located at $MOOGSOFT_HOME/config/system.conf
. It contains the following sections and properties:
Message Bus (MooMs)
connections_per_producer_pool
The number of connections to use for each message sender pool. For example, if a message sender pool has 20 channels and this property is set to 2, the channels are split across both connections so that each has 10 channels. To configure this property, you must manually add it to the mooms
section.
Type | Integer |
Required | No |
Default | 2 |
zone
Name of the zone.
Type | String |
Required | No |
Default | N/A |
brokers
Hostname and port number of the RabbitMQ broker.
Type | Array |
Required | No |
Default |
|
username
Username of the RabbitMQ user. This needs to match the RabbitMQ broker configuration. If commented out, it uses the default "guest" user.
Type | String |
Required | No |
Default |
|
password
Password for the RabbitMQ user. You can choose to either have a password or an encrypted password, you cannot use both.
Type | String |
Required | Yes. If you are not using |
Default |
|
encrypted_password
Encrypted password for the RabbitMQ user. You can choose to either have a password or an encrypted password, you cannot use both. See Moog Encryptor if you want to encrypt your password.
Type | String |
Required | Yes. If you are not using |
Default | N/A |
threads
Number of threads a process can create in order to consume the messages from the Message Bus. If not specified, the thread limit = (Number of processors x 2) + 1. Altering this limit affects the performance of Moogsoft Enterprise processes such as Moogfarmd and Moogpoller.
If your logs indicate an issue in creating threads, Moogsoft advises that you increase the ulimit, the maximum number of file descriptors each process can use, for the Moogsoft Enterprise user. You can set this limit in /etc/security/limits.conf
.
Type | Integer |
Required | No |
Default |
|
message_persistance
Controls whether RabbitMQ persists important messages. Message queues are durable by default and data is replicated between nodes in High Availability mode. Setting this value to false
means that replicated data is not stored to disk.
Type | Boolean |
Required | No |
Default |
|
message_prefetch
Controls how many messages a process can take from the Message Bus and store in memory as a buffer for processing. This configuration allows processes to regulate message consumption which can ease backlog and memory consumption issues. The higher the number, the more messages held in the process's memory. Set to 0 for unlimited processing. To achieve high availability of messages and ensure messages are processed, the value of this should be higher than 0.
Type | Integer |
Required | No |
Default |
|
max_retries
Maximum number of attempts to resend a message that failed to send. Moogsoft Enterprise only attempts a retry when there is a network outage or if cache_on_failure
is enabled.
You can use this in conjunction with the retry_interval
property. For example, a combination of 100 maximum retries and 200 milliseconds for retry interval leads to a total of 20 seconds. The combined default value for these properties was chosen to handle the typical time for a broker failover in a clustered environment.
Type | Integer |
Required | No |
Default |
|
retry_interval
Maximum length of time to wait in milliseconds between each attempt to retry and send a message that failed to send.
You can use this in conjunction with the max_retries
property. The combined value for these properties was chosen to handle the typical time for broker failover in a clustered environment.
Type | Integer |
Required | No |
Default |
|
cache_on_failure
Controls whether Moogsoft Enterprise caches the message internally and resends it if there is an initial retry failure. The system attempts to resend any cached messages in the order they were cached until the time-to-live value, defined by the cache_ttl
property, is reached.
Type | Boolean |
Required | No |
Default |
|
cache_ttl
Length of time in seconds that Moogsoft Enterprise keeps cached messages in the cache list before discarding them. If a message is not successfully resent within this timeframe it is still discarded.
This defaults to 900 seconds (15 minutes). Increasing this value has a direct impact on sender process memory.
Type | Integer |
Required | No |
Default |
|
confirmation_timeout
Length of time in milliseconds to wait for the Message Bus to confirm that a broker has received a message. Moogsoft does not advise changing this value.
Type | Integer |
Required | No |
Default |
|
Message Bus SSL
ssl_protocol
SSL protocol you want to use. JRE 8 supports "TLSv1.2", "TLSv1.1", "TLSv1" or "SSLv3".
Type | String |
Required | No |
Default |
|
server_cert_file
Path to the directory that contains the SSL certificates. You can use a relative path based upon the $MOOGSOFT_HOME
directory. For example, config
indicates $MOOGSOFT_HOME/config
.
Type | String |
Required | No |
Default |
|
client_cert_file
Enables client authentication if you provide a client certificate and key file.
Type | String |
Required | No |
Default |
|
client_key_file
Enables client authentication if you provide a client key file. The file must be in PKCS#8 format.
Type | String |
Required | No |
Default |
|
MySQL
host
Host name or server name of the server that is running MySQL.
Type | String |
Required | No |
Default |
|
moogdb_database_name
Name of the primary Moogsoft Enterprise database.
Type | String |
Required | No |
Default |
|
referencedb_database_name
Name of the Moogsoft Enterprise reference database.
Type | String |
Required | No |
Default |
|
intdb_database_name
Name of the integrations database.
Type | String |
Required | No |
Default | moog_intdb |
username
Username of the MySQL user.
Type | String |
Required | No |
Default |
|
password
Password for the MySQL user. You can choose to either have a password or an encrypted password, you cannot use both.
Type | String |
Required | Yes, if you are not using |
Default |
|
encrypted_password
Encrypted password for the MySQL user. You can choose to either have a password or an encrypted password, you cannot use both. See Moog Encryptor if you want to encrypt your password.
Type | String |
Required | Yes, if you are not using |
Default | N/A |
port
Port that MySQL uses.
Type | Integer |
Required | No |
Default |
|
maxRetries
Maximum number of MySQL query retries to attempt in the event of a deadlock.
Type | Integer |
Required | No |
Default |
|
retryWait
Length of time in milliseconds to wait between retry attempts.
Type | Integer |
Required | No |
Default |
|
failover_connections
Hosts and ports for the different servers that are connected to the main host. For example, master-master, master-slave. In the event of connection failover, the connection cannot be read-only (slave).
Type | List |
Required | No |
Default | N/A |
MySQL SSL
trustStorePath
Path to tNohe directory that contains the trustStore you want to use for SSL connections to your MySQL database. You can use a relative path based upon the $MOOGSOFT_HOME
directory. For example, config
indicates $MOOGSOFT_HOME/config/truststore.
Type | String |
Required | No |
Default |
|
trustStoreEncryptedPassword
Your encrypted trustStore password. You can choose to either have a password or an encrypted password, you cannot use both. See Moog Encryptor if you want to encrypt your password.
Type | String |
Required | Yes, if you are not using |
Default | N/A |
trustStorePassword
Your trustStore password. You can choose to either have a password or an encrypted password, you cannot use both.
Type | String |
Required | No, if you are not using |
Default |
|
connection_timeout
Length of time in milliseconds before the connection to the OpenSearch/Elasticsearch server times out.
Type | Integer |
Required | No |
Default |
|
nodes
Hosts and ports for the different Opensearch/Elasticsearch servers connected in a cluster.
Type | Array |
Required | No |
Default |
|
Failover
persist_state
Enable or disable the persistence of the state of all Moolets in the event of a failover.
Type | Boolean |
Required | No |
Default |
|
network_port
Port to connect to on each specified host in your Hazelcast cluster.
Type | Integer |
Required | No |
Default |
|
auto_increment
Enable for Hazelcast to attempt to connect to the next incremental available port number if the configured port is unavailable.
Type | Boolean |
Required | No |
Default |
|
hosts
List of hosts that can participate in the cluster.
Type | Array |
Required | No |
Default |
|
man_center
Specifies the cluster information that you can view in the Hazelcast Management Center UI.
Type | List |
Required | No |
Default |
|
cluster_per_group
Enable the stateful information from each process group to persist in a dedicated Hazelcast cluster.
Type | Boolean |
Required | No |
Default |
|
Moogfarmd Failover
keepalive_internal
Time interval in seconds at which processes report their active or passive status and check statuses of other processes.
Type | Integer |
Required | No |
Default |
|
margin
Amount of time in seconds after keepalive_interval
before Moogsoft Enterprise considers processes that do not re_port their status to be dead.
Type | Integer |
Required | No |
Default |
|
failover_timeout
Amount of time in seconds to wait for previously active process to become passive during manual failover.
Type | Integer |
Required | No |
Default |
|
automatic_failover
Allow a passive process to automatically become active if no other active processes are detected in the same process group.
Type | Boolean |
Required | No |
Default |
|
Process Monitor
heartbeat
Interval in milliseconds between heartbeats sent by processes.
Type | Integer |
Required | Yes |
Default | 10000 |
max_heartbeat_delay
Number of milliseconds to wait before declaring heartbeat as missing. Defaults to 10% of the heartbeat.
Type | Integer |
Required | No |
Default |
|
Processes
Groups of processes that you want to be able to stop, start and restart from Self Monitoring in the Moogsoft Enterprise UI. For each group you can configure the following options:
group
Name of the process group that Moogsoft Enterprise uses when it starts and stops the service.
Type | String |
Required | Yes |
Default |
|
instance
Name of the instance for the process.
Type | String |
Required | Yes |
Default |
|
display_name
Additional identification label that appears in the UI.
Type | String |
Required | No |
Default | N/A |
cluster
Name of the process's cluster. This overrides the default cluster for a process. If left empty, the Moogsoft Enterprise uses the process's default cluster.
Type | String |
Required | No |
Default | N/A |
service_name
Name of the service script that Moogsoft Enterprise uses to control the process. If you do not configure a service name, Moogsoft Enterprise uses the group name, removing underscores and appending a 'd'. For example, "traplam" becomes "traplamd".
Type | String |
Required | No |
Default | N/A |
process_type
Type of process. If left empty, Moogsoft Enterprise calculates the type based on the group name.
Type | String |
Required | No |
Default | N/A |
Valid Values |
|
reserved
Determines if the process produces a warning in the UI when it is running. Processes that are unreserved do not produce a warning.
Type | Boolean |
Required | No |
Default |
|
subcomponents
Specifies which Moolets are reserved for the Moogfarmd process. If left empty, no Moolets are reserved for the Moogfarmd process.
Type | Array |
Required | No |
Default | N/A |
Encryption
encryption_key_file
Default location of the encryption key file.
Type | String |
Required | No |
Default |
|
High Availability (HA)
cluster
Default HA cluster name.
Type | String |
Required | No |
Default |
|
Port Range
port_range_min
Minimum port number in the range that the Moogsoft Enterprise services use when they look for open ports.
Type | String |
Required | No |
Default |
|
port_range_max
Maximum port number in the range that the Moogsoft Enterprise services use when they look for open ports.
Type | String |
Required | No |
Default |
|