System Configuration
You can configure the various components of Moogsoft Onprem using the system configuration file.
Configure your system
Edit the configuration file to control the behavior of the different components in your Moogsoft Onprem system. You can find the file at $MOOGSOFT_HOME/config/system.conf
.
See the System Configuration Reference for a full description of all properties. Some properties in the file are commented out by default. Uncomment properties to configure and enable them.
Message Bus
You can edit your Message Bus and RabbitMQ configuration in the mooms
section of the file. It allows you to:
Configure your Message Bus zones and brokers.
Control and minimize message loss during a failure.
Control how senders handle Message Bus failures.
Control what happens during periods of extended Message Bus unavailability.
Configure the SSL protocol you want to use.
Specify the number of connections to use for each message sender pool.
For more information see the Message Bus documentation.
Database
You can edit your database configuration in the mysql
section of the file:
Configure your host name, database names and database credentials:
host: Name of your host.
moogdb_database_name: Name of the Moogdb database.
referencedb_database_name: Name of the Moogsoft Onprem reference database.
intdb_database_name: Name of the Moogsoft Onprem integrations database.
username:Username for the MySQL user that accesses the database.
encrypted_password: Encrypted password for the MySQL user.
password: Password for the MySQL user.
port: Default port that Moogsoft Onprem uses to connect to MySQL.
Configure the port, deadlock retry attempts and multi-host connections:
maxRetries: Maximum number of retries in the event of a MySQL deadlock.
retryWait: Number of milliseconds to wait between each retry attempt.
failover_connections: Hosts and ports for the different servers that are connected to the main host.
Configure the SSL connections to the MySQL database:
trustStorePath: Path to location that stores the server certificate.
trustStoreEncryptedPassword: Path to location that stores your encrypted trustStore password.
trustStorePassword: Path to location that stores your trustStore password.
OpenSearch
You can edit your search configuration in the search
section of the file:
Configure the OpenSearch connection timeouts:
connection_timeout: Length of time in milliseconds before the connection times out.
request_timeout: Length of time in milliseconds before the request times out.
Configure the OpenSearch limit and nodes:
refresh_interval: Defines how often the Search index refreshes. A newly indexed document is not visible in search results until the next time the index refreshes. Default is 30 seconds.
limit: Maximum number of search results that OpenSearch returns from a search query.
nodes: Hosts and ports for the OpenSearch servers connected in a cluster.
Failover
You can edit failover configuration in the failover
section of the file:
Configure persistence in the event of a failover:
persist_state: Enable or disable the persistence of the state of all Moolets in the event of a failover.
Configure the Hazelcast cluster, this is Moogsoft Onprem implementation of persistence:
network_port: Port to connect to on each specified host.
auto_increment: Enable for Hazelcast to attempt to the next incremental available port number if the configured port is unavailable.
hosts: List of hosts that can participate in the cluster.
man_center: Configures the cluster information that you can view in the Hazelcast Management Center UI.
cluster_per_group: Enable the stateful information from each process group to persist in a dedicated Hazelcast cluster.
Configure failover options that apply to Moogfarmd and the LAMs:
keepalive_interval: Time interval in seconds at which processes report their active/passive status and check statuses of other processes.
margin: Amount of time in seconds after
keepalive_interval
before Moogsoft Onprem considers processes that do not report their status to be dead.failover_timeout: Number of seconds to wait for previously active process to become passive during a manual failover.
automatic_failover: Allow a passive process to automatically become active if no other active processes are detected in the same process group.
heartbeat_failover_after: Number of consecutive heartbeats that a process fails to send before Moogfarmd considers it inactive.
Process Monitor
You can edit the process monitor configuration in the process_monitor
section of the file:
Configure the heartbeat interval and delay:
heartbeat: Interval in milliseconds between heartbeats sent by processes.
max_heartbeat_delay: Number of milliseconds to wait before declaring heartbeat as missing.
Configure the Moogfarmd and which processes you can control from the UI:
group: Name of the group of processes and subcomponent processes that you want to control from the UI.
instance: Name of the instance of Moogsoft Onprem you want to configure.
service_name: Name of the service you want to control.
process_type: Type of process you want to control.
reserved: Determines if Moogsoft Onprem considers the process as critical in process monitoring.
Encryption
You can edit the encryption configuration in the encryption
section of the file:
encryption_key_file: Default location of the encryption key file.
High Availability
You can edit the high availability configuration in the ha
section of the file.
cluster: Default HA cluster name
Port ranges
You can edit the port range that Moogsoft Onprem services use when they look for open ports.
port_range_min: Minimum port number in the range.
port_range_max: Maximum port number in the range.
Example
The following example shows system.conf
with the default configuration and all available properties enabled:
{ "mooms": { "zone": "", "brokers": [{ "host": "localhost", "port": 5672 }], "username": "moogsoft", "password": "m00gs0ft", "encrypted_password": "e5uO0LY3HQJZCltG/caUnVbxVN4hImm4gIOpb4rwpF4=", "threads": 10, "message_persistence": false, "message_prefetch": 100, "max_retries": 100, "retry_interval": 200, "cache_on_failure": false, "cache_ttl": 900, "connections_per_producer_pool": 2, "confirmation_timeout": 2000, "ssl": { "ssl_protocol": "TLSv1.2", "server_cert_file": "server.pem", "client_cert_file": "client.pem", "client_key_file": "client.key" } }, "mysql": { "host": "localhost", "moogdb_database_name": "moogdb", "referencedb_database_name": "moog_reference", "intdb_database_name": "moog_intdb", "username": "ermintrude", "encrypted_password": "vQj7/yom7e5ensSEb10v2Rb/pgkaPK/4OcUlEjYNtQU=", "password": "m00", "port": 3306, "maxRetries": 10, "retryWait": 50, "failover_connections": [ { "host": "193.221.20.24", "port": 3306 }, { "host": "143.47.254.88", "port": 3306 }, { "host": "234.118.117.132", "port": 3306 } ], "ssl": { "trustStorePath": "etc/truststore", "trustStoreEncryptedPassword": "vQj7/yom7e5ensSEb10v2Rb/pgkaPK/4OcUlEjYNtQU=", "trustStorePassword": "moogsoft" } }, "search": { "connection_timeout": 1000, "request_timeout": 10000, "refresh_interval": 30, "limit": 1000, "nodes": [{ "host": "localhost", "port": 9200 }] }, "failover": { "persist_state": false, "hazelcast": { "network_port": 5701, "auto_increment": true, "hosts": ["localhost"], "man_center": { "enabled": false, "host": "localhost", "port": 8091 }, "cluster_per_group": false }, "keepalive_interval": 5, "margin": 10, "failover_timeout": 10, "automatic_failover": false, "heartbeat_failover_after": 2 }, "process_monitor": { "heartbeat": 10000, "max_heartbeat_delay": 1000, "processes": [{ "group": "moog_farmd", "instance": "", "service_name": "moogfarmd", "process_type": "moog_farmd", "reserved": true, "subcomponents": [ "AlertBuilder", "Default Cookbook", "TeamsMgr", "Housekeeper", "AlertRulesEngine", "SituationMgr", "Notifier" ]}, { "group": "servlets", "instance": "", "service_name": "apache-tomcat", "process_type": "servlets", "reserved": true, "subcomponents": [ "moogsvr", "moogpoller", "toolrunner", "situation_similarity" ]}, { "group": "logfile_lam", "instance": "", "service_name": "logfilelamd", "process_type": "LAM", "reserved": false }, { "group": "rest_lam", "instance": "", "service_name": "restlamd", "process_type": "LAM", "reserved": false }, { "group": "socket_lam", "instance": "", "service_name": "socketlamd", "process_type": "LAM", "reserved": false }, { "group": "trapd_lam", "instance": "", "service_name": "trapdlamd", "process_type": "LAM", "reserved": false }, { "group": "rest_client_lam", "instance": "", "service_name": "restclientlamd", "process_type": "LAM", "reserved": false } ] }, "encryption": { "encryption_key_file": "/location/of/.key" }, "ha": { "cluster": "MOO" }, "port_range_min": 50000, "port_range_max": 51000 }
Start and stop Moogfarmd
Restart the Moogfarmd service to activate any changes you make to the system configuration file.
The service name is moogfarmd
.
See Control Moogsoft Onprem Processes for further details.