Tarball - Upgrade Core components
Follow these steps to perform a Tarball upgrade on the Moogsoft Enterprise Core components to v8.2.0 from v7.1.x, v7.2.x, or 7.3.x:
Elasticsearch
Moogfarmd
RabbitMQ
Events Analyser
These components should always reside on the same server.
Refer to Upgrade Moogsoft Enterprise or general information and upgrade instructions for other components and versions.
Stop services and processes
You must stop Moogsoft Enterprise services and processes before starting the upgrade, as follows.
Stop Moogfarmd:
$MOOGSOFT_HOME/bin/utils/process_cntl moog_farmd stop
Stop Apache Tomcat:
$MOOGSOFT_HOME/bin/utils/process_cntl apache-tomcat stop
Stop LAMs and integrations. You can use either the Process Control utility:
$MOOGSOFT_HOME/bin/utils/process_cntl <lam_name> stop
Or the kill command:
kill -9 $(ps -ef | grep java | grep _lam | awk '{print $2}') 2>/dev/null
Disable the Events Analyser and Graph Analyser:
Run the following command to comment out the relevant lines in crontab:
(crontab -l | sed -e 's/^\(.*events_analyser.*\)$/#\1/') | crontab - (crontab -l | sed -e 's/^\(.*graph_analyser.*\)$/#\1/') | crontab -
Run the following command to stop any active Events Analyser or Graph Analyser processes:
ps -ef | grep java | egrep 'events_analyser|graph_analyser' | awk '{print $2}' | xargs kill 2>/dev/null
Stop MySQL, RabbitMQ and Nginx (if they are running):
$MOOGSOFT_HOME/bin/utils/process_cntl rabbitmq stop $MOOGSOFT_HOME/bin/utils/process_cntl nginx stop
Delete the Elasticsearch indexes and stop Elasticsearch
Run this command on the moogsoft-search/Opensearch/Elasticsearch
server to remove the old Opensearch/Elasticsearch indexes:
curl -XDELETE 'http://localhost:9200/alerts/' && curl -XDELETE 'http://localhost:9200/situations/'
Important
If authentication has been enabled for the Opensearch/Elasticsearch service, you will need to supply admin credentials to both curl commands as follows: curl -u <username>:<password> -XDELETE ...
If the command completes successfully, the following message is displayed:
{"acknowledged":true}{"acknowledged":true}
Stop Elasticsearch (if it is running):
$MOOGSOFT_HOME/bin/utils/process_cntl elasticsearch stop
Upgrade Moogsoft Enterprise
To upgrade Moogsoft Enterprise, run the following commands.
If you have already run this step on the current host as part of this upgrade (for single-host upgrade for example), you can skip this step.
tar -xf moogsoft-enterprise-8.2.0.tgz bash moogsoft-enterprise-install-8.2.0.sh
Follow the instructions that appear. The upgrade process detects the existing installation and performs the upgrade.
Important
If any of the checks performed by the install script are reported as a failure on the initial screen, please contact Moogsoft support as this could impact functionality.
Merge the latest configuration file changes
Note
In Moogsoft Enterprise v7.3.x and 8.0.x, the Cookbooks, Tempus, and merge groups (default and custom) are imported into the database by default, enabling you to to access and configure them via the UI and API. The migration occurs once when Moogfarmd is restarted.
A file_only_config=true
flag has been added to the 7.3.x and 8.0.x versions of moog_farmd.conf
that you can use to prevent the migration from taking place. If this flag is missing or is set to false
, Moogfarmd attempts to perform the import when it starts.
Note
If the file_only_config
flag is set to true
, UI-based Cookbooks will not run.
The following moolets are no longer supported in v8.0.x and should be removed from the moog_farmd.conf file as part of the upgrade:
Sigaliser Classic
Nexus
Speedbird
AlertRootCause
Version specific config file differences:
v7.1.x-v7.2.x
$MOOGSOFT_HOME/config/system.conf
message_persistence is now enabled by default
$MOOGSOFT_HOME/config/security.conf
The 'Google' realm has been deprecated and removed
$MOOGSOFT_HOME/config/servlets.conf
The toolrunner servlet now optionally supports ssh key authentication as well as username/password-based authentication
$MOOGSOFT_HOME/config/moog_farmd.conf
alert_workflows.conf moolet has been added
enrichment_workflows.conf moolet has been added
event_workflows.conf moolet has been added
situations_workflows.conf moolet has been added
v7.2.x-v7.3.x
$MOOGSOFT_HOME/config/system.conf
New integration database property has been added: intdb_database_name
$MOOGSOFT_HOME/config/moog_farmd.conf
The entire sig_resolution block containing merge groups, retention_period etc has been removed but is still supported as long as file_only_config is true
alert_root_cause.conf moolet has been removed and is no longer supported
nexus.conf moolet has been removed and is no longer supported
speedbird.conf moolet has been removed and is no longer supported
sigaliser.conf moolet has been removed and is no longer supported
cookbook.conf has been removed but is still supported as long as file_only_config is set to true
tempus.conf has been removed but is still supported as long as file_only_config is set to true
v7.3.x-v8.0.x
$MOOGSOFT_HOME/config/system.conf
ElasticSearch now supports basic authentication
$MOOGSOFT_HOME/config/security.conf
There is a new global_settings block which allows control of the CSRF protection feature
$MOOGSOFT_HOME/config/servlets.conf
It is now possible to configure the toolrunner to run on a port other than 22 using toolrunnerport property
$MOOGSOFT_HOME/config/moog_farmd.conf
alert_inform_workflows.conf moolet has been added
situation_inform_workflows.conf moolet has been added
The 'modules' block has been removed as it only contained Topology-related functionality and this has been deprecated in the v8.0.x release - the Topology feature works differently.
The top-level $MOOGSOFT_HOME/config
and $MOOGSOFT_HOME/bots
folders are the master folder locations for configuration and bot files.
Note
If you have already completed this step previously (as part of this upgrade process) on the current host, you can skip this step.
The new 'default' v8.0.x versions of the config and bot files are stored in $MOOGSOFT_HOME/dist/8.0.0.4/config/
and $MOOGSOFT_HOME/dist/8.0.0.4/bots/
respectively.
Do not copy the config and bot files from the previous version on top of the new versions of those files in $MOOGSOFT_HOME/bots/ or $MOOGSOFT_HOME/contrib/ in 8.0.x. These files are not always forward-compatible, and some config and bot files require additional lines for the new version to work.
Important
The Workflow Engine requires the right version of the 'bot' and 'contrib' files to be in place before moog_farmd is restarted later in the upgrade process:
The v8.0.x version of $MOOGSOFT_HOME/dist/8.0.*/bots/moobots/WorkflowEngine.js should be copied into $MOOGSOFT_HOME/bots/moobots/
The v8.0.x versions of files under $MOOGSOFT_HOME/dist/8.0.*/contrib/ should be copied into $MOOGSOFT_HOME/contrib/
Identify the config files that have changed between the previously installed version and v8.0.x. Replace <previous_version> with the version installed previously, for example 7.3.1.1.
diff -rq $MOOGSOFT_HOME/dist/<previous_version>/config $MOOGSOFT_HOME/dist/8.0.*/config | grep -i 'differ'
Update files in
$MOOGSOFT_HOME/config
with any changes introduced in the v8.0.x versions of these files.Identify the contrib files that have changed between the previously installed version and v8.0.x. Replace <previous_version> with the version installed previously for example 7.3.1.1.
diff -rq $MOOGSOFT_HOME/dist/<previous_version>/contrib $MOOGSOFT_HOME/dist/8.0.*/contrib | grep -i 'differ'
Update files in
$MOOGSOFT_HOME/contrib
with any changes introduced in the v8.0.x versions of these files.Identify the bot files that have changed between the previously installed version and v8.0.x. Replace <previous_version> with the version installed previously, for example 7.3.1.1.
diff -rq $MOOGSOFT_HOME/dist/<previous_version>/bots $MOOGSOFT_HOME/dist/8.0.*/bots | grep -i 'differ'
Update files in
$MOOGSOFT_HOME/bots
with any changes introduced in the v8.0.x versions of these files.
Note
In Moogsoft Enterprise v8.0x, hop limit has been removed from existing Recipe configurations. You can reconfigure a hop limit if you are using a named or inferred Topology to filter a Recipe.
Update the RabbitMQ configuration
Note
Only perform this step if you are upgrading from v7.0.x.
Moogsoft recommends that you update the RabbitMQ configuration to support autoheal and other processes that improve stability in HA environments.
Run the command(s) below which are appropriate for the deployment type.
RPM:
cp -f $MOOGSOFT_HOME/etc/cots/rabbitmq/rabbitmq.config /etc/rabbitmq/ bash $MOOGSOFT_HOME/bin/utils/moog_init_mooms.sh -z $(moog_config_reader -k mooms.zone) -p
Tarball:
cp -f $MOOGSOFT_HOME/etc/cots/rabbitmq/rabbitmq.config $MOOGSOFT_HOME/cots/rabbitmq-server/etc/rabbitmq/ bash $MOOGSOFT_HOME/bin/utils/moog_init_mooms.sh -z $(moog_config_reader -k mooms.zone) -p
Next steps
To continue with the upgrade, see Tarball - Upgrade database components.