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
Name of the zone.
Type: String
Required: No
Default: Empty
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 AIOps 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 AIOps 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. 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.
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.
Type: String
Required: No
Default: "vQj7/yom7e5ensSEb10v2Rb/pgkaPK/4OcUlEjYNtQU="
trustStorePassword
Your trustStore password.
Type: String
Required: No
Default: "moogsoft"
Search
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
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_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"