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

"host" : "localhost", "port" : 5672

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

guest

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 encrypted password.

Default

guest

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 password.

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

10

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

true

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

0

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

100

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

200

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

false

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

900

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

2000

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

TLSv1.2

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

server.pem

client_cert_file

Enables client authentication if you provide a client certificate and key file.

Type

String

Required

No

Default

client.pem

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

client.key

MySQL

host

Host name or server name of the server that is running MySQL.

Type

String

Required

No

Default

localhost

moogdb_database_name

Name of the primary Moogsoft Enterprise database.

Type

String

Required

No

Default

moogdb

referencedb_database_name

Name of the Moogsoft Enterprise reference database.

Type

String

Required

No

Default

moog_reference

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

ermintrude

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 encrypted password.

Default

m00

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 password.

Default

N/A

port

Port that MySQL uses.

Type

Integer

Required

No

Default

3306

maxRetries

Maximum number of MySQL query retries to attempt in the event of a deadlock.

Type

Integer

Required

No

Default

10

retryWait

Length of time in milliseconds to wait between retry attempts.

Type

Integer

Required

No

Default

50

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

etc/truststore

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 trustStorePassword.

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 trustStoreEncryptedPassword.

Default

moogsoft

connection_timeout

Length of time in milliseconds before the connection to the Elasticsearch server times out.

Type

Integer

Required

No

Default

1000

nodes

Hosts and ports for the different Elasticsearch servers connected in a cluster.

Type

Array

Required

No

Default

"host" : "localhost",

"port" : 9200

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

false

network_port

Port to connect to on each specified host in your Hazelcast cluster.

Type

Integer

Required

No

Default

5701

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

true

hosts

List of hosts that can participate in the cluster.

Type

Array

Required

No

Default

localhost

man_center

Specifies the cluster information that you can view in the Hazelcast Management Center UI.

Type

List

Required

No

Default

"enabled" : false,

"host" : "localhost",

"port" : 8091

cluster_per_group

Enable the stateful information from each process group to persist in a dedicated Hazelcast cluster.

Type

Boolean

Required

No

Default

false

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

5

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

10

failover_timeout

Amount of time in seconds to wait for previously active process to become passive during manual failover.

Type

Integer

Required

No

Default

10

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

false

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

1000

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

N/A

instance

Name of the instance for the process.

Type

String

Required

Yes

Default

N/A

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

moog_farmd, servlet, LAM

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

true

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

/location/of/.key

High Availability (HA)

cluster

Default HA cluster name.

Type

String

Required

No

Default

MOO

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

50000

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

51000