Moogsoft Enterprise - Online RPM pre-installation
You must perform certain preparatory tasks before you install Moogsoft Enterprise.
Follow these steps if you have root access to the machine or machines on which you will install Moogsoft Enterprise, and you can connect to Yum repositories outside your network from those machines.
Offline RPM pre-installation: Moogsoft Enterprise - Offline RPM pre-installation.
Online Tarball pre-installation: Moogsoft Enterprise - Online Tarball pre-installation.
Offline Tarball pre-installation: Moogsoft Enterprise - Offline Tarball pre-installation.
Upgrade considerations
To ensure your upgrade to v8.2.0 is quick and causes as little system impact as possible, Moogsoft recommends that your v7.x system has been subject to:
Regular use of Auto Close (or another method) to close operationally complete and/or obsolete Alerts and Situations
Regular use of the Historic Data utility to move as many old closed Alerts and Situations from the active database to the historic database as is operationally allowable
If your v7.x system has not been subject to the above guidelines, be aware that, on first start of v8.2.0 after upgrading, a one-time operation will copy all active event data to the historic database.
After this initial copy completes post-upgrade, the database splitter process purges any copied events from the active database older than two weeks (default setting). Note that these are one-time operations as the Historic Event Data migration task runs regularly post-upgrade, and the impact of future runs will be much reduced.
This activity may take a few hours to potentially a day or more, depending on your system's active data volume, and may impact the ability of your system to ingest events.
This information applies to upgrades only. New installations will not experience this initial workload.
Before you begin
Before you begin to prepare for the installation, verify the following:
You have root access to the system where you plan to install Moogsoft Enterprise.
You have credentials to connect to the Moogsoft "speedy" Yum repository.
You are familiar with the supported versions of third party software, as outlined in Moogsoft Enterprise v8.x Supported Environments.
Pre-installation steps
Complete the following steps before you perform a RPM installation of Moogsoft Enterprise:
Run the following command to create the Moogsoft Enterprise Yum repository file
/etc/yum.repos.d/aiops.repo
with the following contents. Replace the username and password in thebaseurl
property with your Moogsoft "speedy" Yum repository credentials.cat > /etc/yum.repos.d/aiops.repo <<EOL [moogsoft-aiops] name=moogsoft-aiops baseurl=https://<username>:<password>@speedy.moogsoft.com/repo/aiops/esr enabled=1 gpgcheck=0 sslverify=0 EOL
Optional: GPG key validation of the RPMs
To validate the RPMs before installation:
For servers without internet access (if server has internet access go to the next step):
Download the key from this site:
https://keys.openpgp.org/vks/v1/by-fingerprint/887B323F485F122FE923214FD01B4B4B6F379E7E
Copy the key to the server onto which the RPMs or tarball will be installed (it will be an .asc file)
Import the key:
gpg --import 887B323F485F122FE923214FD01B4B4B6F379E7E.asc
For servers with internet access, run the following command:
curl https://keys.openpgp.org/vks/v1/by-fingerprint/887B323F485F122FE923214FD01B4B4B6F379E7E | gpg —-import
Download all the patch RPMs and
.sig
files from the speedy yum repository using a browser, providing speedy credentials when asked by the browser:https://<speedyusername>:<speedypassword>@speedy.moogsoft.com/repo/aiops/esr/x86_64
Move the RPMs and
.sig
files into the same folder. For example,/tmp
, as used in the example below.Copy the following code into a bash terminal and run it to perform the validation:
while read RPM do echo "Current RPM: $RPM" gpg --verify ${RPM}.sig ${RPM} 2>&1 done < <(find /tmp -name '*.rpm');
Confirm that all the commands for each RPM report:
Good signature from "Moogsoft Information Security Team "<security@moogsoft.com>"
You can now remove the RPMs and
.sig
files. Yum will download the packages from the online repository for the actual installation.
Run the following command to create an Elasticsearch Yum repository as a new file
/etc/yum.repos.d/elasticsearch.repo
with the following contents:cat > /etc/yum.repos.d/elasticsearch.repo <<EOL [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOL
Install the RabbitMQ Erlang el7 package. For example:
yum -y install https://github.com/rabbitmq/erlang-rpm/releases/download/v23.3/erlang-23.3-2.el7.x86_64.rpm
Alternatively you can find the file at https://github.com/rabbitmq/erlang-rpm/releases/tag/v23.3.
Install the RabbitMQ Yum repository. For example:
curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
Verify that the
/etc/yum.repos.d/rabbitmq_rabbitmq-server.repo
file has been created.Install the Elasticsearch public key. For example:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
Run the following command to create an /etc/yum.repos.d/nginx.repo Nginx yum repo file:
cat > /etc/yum.repos.d/nginx.repo <<EOL [nginx] name=nginx repo baseurl=http://nginx.org/packages/OS/OSRELEASE/\$basearch/ gpgcheck=0 enabled=1 EOL OS_VERSION=$(cat /etc/system-release) case "$OS_VERSION" in CentOS*release\ 7* ) sed -i -e 's/OS/centos/' -e 's/OSRELEASE/7/' /etc/yum.repos.d/nginx.repo;; Red\ Hat*release\ 7* ) sed -i -e 's/OS/rhel/' -e 's/OSRELEASE/7/' /etc/yum.repos.d/nginx.repo;; esac
Refresh the local Yum repo cache and verify that the NSS and OpenSSL packages are up to date on your system. For example:
yum clean all yum -y update nss openssl
Install Java 11:
VERSION=11.0.14.1.1; yum -y install java-11-openjdk-headless-${VERSION} java-11-openjdk-${VERSION} java-11-openjdk-devel-${VERSION}
Install the Extra Packages for Enterprise Linux (EPEL) Yum repository and enable the optional packages:
yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
Verify that the
/etc/yum.repos.d/epel.repo
file has been created.If the Operating System is RHEL, enable the 'extras' repos:
subscription-manager repos --enable "rhel-*-optional-rpms" --enable "rhel-*-extras-rpms" --enable "rhel-ha-for-rhel-*-server-rpms"
The step after this one will result in the Percona RPMs being installed, however, it is possible that already installed packages can conflict with the Percona ones. Run the following command to identify if any already installed packages might conflict:
rpm -q --whatprovides mysql-libs
If this command returns any packages, remove them before continuing (
yum remove <package_name>
). Yum provides a warning if the removal of those packages will cause others which depend on them to be removed at the same time. If those packages cannot be removed, please contact Moogsoft Support - in this case a 'yum shell' script is needed to swap the dependencies 'in-place' without removing any other packages.Download the Percona database installer on all servers that will house a database node. The script configures multiple nodes to run as a cluster. A single node is also supported. Run this command on an internet-connected host. If this host does not have internet access, download the script on a different host before copying it to this host. Enter your "speedy" Yum repo user credentials when prompted:
cat > get_percona_script.sh << _EOF_ #!/bin/bash clear echo "Please provide access credentials for the 'speedy' yum repository in order to download the Percona setup script" echo read -p "AIOps Repository Username: " AIOPS_USER export AIOPS_USER read -p "AIOps Repository Password: " -s AIOPS_PASS export AIOPS_PASS curl -L -O https://\$AIOPS_USER:\$AIOPS_PASS@speedy.moogsoft.com/repo/aiops/8.2.0/install_percona_nodes.sh 2>/dev/null echo _EOF_ bash get_percona_script.sh;
Set SELinux to permissive mode or disable it completely. For example, to set SELinux to permissive mode:
setenforce 0
If you want to disable SELinux at boot time, edit the file
/etc/sysconfig/selinux
.To allow users to configure an ElasticSearch cluster, the
vm.max_map_count
property must be at least 262144. Check this property by running:sysctl -n vm.max_map_count
If the value is less than 262144, add the following line to the end of the
/etc/sysctl.conf
file (requires root permissions):vm.max_map_count = 262144
Run the following commands as root to set appropriate ulimits for the 'moogsoft' user which will run the application. Replace the 'moogsoft' user below as the user who will be installing and running the application⏤by default, it is 'moogsoft' for RPM deployments:
LIMITS_NPROC_CONF=/etc/security/limits.d/00_moogsoft.conf sudo bash -c "echo \"moogsoft hard nproc 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft hard nofile 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft soft nproc 65536\" >> ${LIMITS_NPROC_CONF}"; sudo bash -c "echo \"moogsoft soft nofile 65536\" >> ${LIMITS_NPROC_CONF}";
Log out of the command terminal and back in to implement the changes.
After you have completed these steps, proceed with your installation or upgrade.
See RPM Installation or Upgrade Moogsoft Enterprise for the instructions relevant to your deployment.