Moogsoft Docs

System Configuration Reference

This is a reference for the system configuration file which is located at $MOOGSOFT_HOME/config/system.conf

It contains the following sections and properties:

Message Bus ( MooMs )

Configuration properties relating to the Message Bus, also known as MooMs :

zone : The name of the zone.

Type : String
Required : No
Default : Empty

brokers : The hostname and port number of the RabbitMQ broker:

Type : Array
Required : No
Default : [{ "host" : "localhost", "port" : 5672 }]

username : The 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 : The 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 : The 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 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 user. You can set this limit in /etc/security/limits.conf .

Type : Integer
Required : No
Default : "10"

message_persistence : Controls whether RabbitMQ persists importance messages or not. If enabled, the message queue does not disappear if there is a failover or the connection drops.

Type : Boolean
Required : No
Default : "false"

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.

Type : Integer
Required : No
Default : "0"

max_retries : Maximum number of attempts to resend a message that failed to send. Moogsoft AIOps 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 : "100"

cache_on_failure : Controls whether Moogsoft AIOps 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 AIOps 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 AIOps database.

Type : String
Required : No
Default : "moogdb"

reference_database_name : Name of the Moogsoft AIOps reference database.

Type : String
Required : No
Default : "moog_reference"

username : Username of the MySQL user.

Type : String
Required : No
Default : "ermintrude"

encrypted_password : Encrypted password for the MySQL user. See Moog Encryptor if you want to encrypt your password.

Type : String
Required : No
Default : N/A

password : Password for the MySQL user.

Type : String
Required : No
Default : "m00"

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 the 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. See Moog Encryptor if you want to encrypt your password.

Type : String
Required : No
Default : "vQj7/yom7e5ensSEb10v2Rb/pgkaPK/4OcUlEjYNtQU="

trustStorePassword : Your trustStore password.

Type : String
Required : No
Default : "moogsoft"

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

Type : Integer
Required : No
Default : "1000"

request_timeout : Length of time in milliseconds before an Elasticsearch request times out.

Type : Integer
Required : No
Default : "1000"

limit : Maximum number of search results that Elasticsearch returns.

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 : Specifie s 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_interval : 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 AIOps considers processes that do not report their status to be dead.

Type : Integer
Required : No
Default : 10

failover_timeout : Number of seconds to wait for previously active process to become passive during a 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

heartbeat_failover_after : Number of consecutive heartbeats that a process fails to send before Moogfarmd considers it inactive.

Type : Integer
Required : No
Default : 2

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 AIOps UI. For each group you can configure the following options:

group_name : Name of the process group that Moogsoft AIOps 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 AIOps uses the process's default cluster.

Type : String
Required : No
Default : N/A

service_name : Name of the service script that Moogsoft AIOps uses to control the process. If you do not configure a service name, Moogsoft AIOps 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 AIOps calculates the type based on the group name.

Type : String
Required : No
One of : moog_farmd, servlet, LAM
Default : N/A

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"

Webhost

webhost : Default hostname that the LAMs use. Do not enter the port number or protocol here.

Type : String
Required : No
Default : "localhost"

Port Range

port_range_min : Minimum port number in the range that the Moogsoft AIOps 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 AIOps services use when they look for open ports:

Type : String
Required : No
Default : "51000"