Moogsoft Enterprise - Offline RPM pre-installation

You must perform certain preparatory tasks before you install Moogsoft Enterprise v8.0.x.

Follow these steps if you have root access to the machine or machines on which you will install or upgrade Moogsoft Enterprise, but you cannot connect to Yum repositories outside your network from those machines.

If you are performing another type of installation, see:

Before you begin

Before you begin to prepare for the installation, verify the following:

Download the installation files

Complete the following steps before you perform an offline RPM installation of Moogsoft Enterprise v8.0.x:

  1. Download the files required for the offline installation and copy them to any host on which the product needs to be installed:

    • The BASE repository containing the dependent packages to install for RHEL 7 or CentOS 7.

    • The ESR repository containing the standard RPMs and ancillary packages (Apache Tomcat, RabbitMQ, JRE, etc).

    • The Percona database install script. This script configures multiple nodes to run as a cluster, and also supports a single node. Enter your "speedy" Yum repo user credentials when prompted.

    cat > aiops_repo.sh << _EOF_
    #!/bin/bash
    clear
    echo "Please download the required files for offline installation"
    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.0.0/install_percona_nodes.sh 2>/dev/null
    curl -L -O https://\$AIOPS_USER:\$AIOPS_PASS@speedy.moogsoft.com/offline/aiops/2020-06-16-1592304310-MoogsoftBASE7_offline_repo.tar.gz
    curl -L -O https://\$AIOPS_USER:\$AIOPS_PASS@speedy.moogsoft.com/offline/aiops/2020-06-16-1592304310-MoogsoftESR_8.0.0.1_offline_repo.tar.gz
    echo
    _EOF_
    bash aiops_repo.sh;
  2. Download the Percona and dependency packages using cURL on an internet-connected host:

    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/Percona-XtraDB-Cluster-shared-57-5.7.28-31.41.1.el7.x86_64.rpm
    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/Percona-XtraDB-Cluster-client-57-5.7.28-31.41.1.el7.x86_64.rpm
    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/Percona-XtraDB-Cluster-server-57-5.7.28-31.41.1.el7.x86_64.rpm
    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/Percona-XtraDB-Cluster-shared-compat-57-5.7.28-31.41.1.el7.x86_64.rpm
    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/percona-xtrabackup-24-2.4.19-1.el7.x86_64.rpm
    
  3. Copy the Percona install_percona_nodes.sh install script and RPM install files to all servers that will house a database node.

  4. Copy the tar.gz files to all servers that will run Moogsoft Enterprise components.

  5. Download the HA Proxy RPM on an internet-connected host (requires root permissions):

    yum install --downloadonly --downloaddir ./ haproxy

    Copy the HA Proxy RPM to the servers that will have the Core, UI and LAM server roles.

    See Server Roles for more information on the Core, UI and LAM server roles.

Prepare the local Yum repositories

Follow these steps to create local Yum repositories to house the installation packages. If you are running a distributed installation, perform these steps on each machine that will run Moogsoft Enterprise components.

  1. Create two directories to house the repositories. For example:

    sudo mkdir -p /media/localRPM/BASE/
    
    sudo mkdir -p /media/localRPM/ESR/
  2. Extract the two Tarball files into separate directories and move the HA Proxy RPM to /media/localRPM/BASE/. For example:

    tar xzf *-MoogsoftBASE7_offline_repo.tar.gz -C /media/localRPM/BASE/
    
    tar xzf *-MoogsoftESR_8.0.0.1_offline_repo.tar.gz -C /media/localRPM/ESR/
    
    mv haproxy*rpm  /media/localRPM/BASE/
  3. Back up the existing /etc/yum.repos.d directory. For example:

    mv /etc/yum.repos.d /etc/yum.repos.d-backup
  4. Create an empty /etc/yum.repos.d directory. For example:

    mkdir /etc/yum.repos.d
  5. Create a local.repo file ready to contain the local repository details:

    vi /etc/yum.repos.d/local.repo
  6. Edit local.repo and configure the baseurl paths for BASE and ESR to point to the your directories. For example:

    [BASE]
    name=MoogCentOS-$releasever - MoogRPM
    baseurl=file:///media/localRPM/BASE/RHEL
    gpgcheck=0
    enabled=1
    [ESR]
    name=MoogCentOS-$releasever - MoogRPM
    baseurl=file:///media/localRPM/ESR/RHEL
    gpgcheck=0
    enabled=1
  7. Clean the Yum cache:

    yum clean all
  8. Verify that Yum can detect the newly created repositories. For example:

    yum info "moogsoft-*"
    
    Available Packages
    Arch        : x86_64
    Version     : 8.0.0.1
    Release     : XYZ
    Size        : 76 M
    Repo        : ESR
    Summary     : Algorithmic Intelligence for IT Operations
    URL         : https://www.moogsoft.com
    License     : Proprietary
    Description : Moogsoft AIOps (8.0.0.1) - Build: XYZ - (Revision: XYZ)

    The results should include the following packages:

    Name        : moogsoft-db
    Name        : moogsoft-integrations
    Name        : moogsoft-integrations-ui
    Name        : moogsoft-mooms
    Name        : moogsoft-search
    Name        : moogsoft-server
    Name        : moogsoft-ui
    Name        : moogsoft-utils
    Name        : moogsoft-common
  9. Install the downloaded Percona RPMs on all servers that will house a database node:

    yum -y install Percona-XtraDB-Cluster-*.rpm percona-xtrabackup-24-2.4.19-1.el7.x86_64.rpm
  10. Install Java 11:

    VERSION=11.0.7.10; yum -y install java-11-openjdk-headless-${VERSION} java-11-openjdk-${VERSION} java-11-openjdk-devel-${VERSION}
  11. 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.

  12. Ensure the current user, or the user that will be running the Moogsoft processes, has sufficient resource limits by running the following commands as that user:

    ulimit -n
    ulimit -u

    If either of the values returned are less than 65536, add the following to the /etc/security/limits.conf file as root:

    moogsoft	soft    nofile   65536
    moogsoft	hard    nofile   65536
    moogsoft	soft    nproc	65535
    moogsoft	hard    nproc	65535
  13. Optional: GPG key validation of the RPMs

    To validate the RPMs before installation:

    1. Download the key. For 8.0.0.1 and prior:

      https://keys.openpgp.org/vks/v1/by-fingerprint/2529C94A49E42429EDAAADAEC7A2253BFC50512A
    2. Copy the key to the server onto which the RPMs or tarball will be installed (it will be an .asc file)

    3. Import the key. For example, for 8.0.0.1 and prior:

      gpg --import 2529C94A49E42429EDAAADAEC7A2253BFC50512A.asc
    4. Download all the '8.0.x' 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
    5. Move the RPMs and .sig files into the same folder. For example, /tmp, as used in the example below.

    6. 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 /media/localRPM/ESR/RHEL/ -name '*.rpm');
    7. Confirm that all the commands for each RPM report:

      Good signature from "Moogsoft Information Security Team "<security@moogsoft.com>"

Your local Yum repositories are now ready. Proceed with your offline installation or upgrade. See the upgrade instructions relevant to your deployment.