Moogsoft AIOps v7.3.x - RPM pre-installation steps

You must perform certain preparatory tasks before you install Moogsoft AIOps v7.3.x.

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

For Offline RPM pre-installation steps, see v7.3.x - Offline RPM pre-installation steps.

For Tarball pre-installation steps, see v7.3.x - Tarball pre-installation steps.

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 AIOps.

  • 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 AIOps 7.3.x Supported Environments.

Pre-installation steps

Complete the following steps before you perform a RPM installation of Moogsoft AIOps v7.3.x:

  1. Create the Moogsoft AIOps Yum repository as a new file /etc/yum.repos.d/aiops.repo with the following contents. Replace the login and password in the baseurl property with your Moogsoft "speedy" Yum repository credentials.

    [moogsoft-aiops]
    name=moogsoft-aiops
    baseurl=https://<username>:<password>@speedy.moogsoft.com/repo/aiops/esr
    enabled=1
    gpgcheck=0
    sslverify=0
  2. Optional: GPG key validation of the RPMs

    To validate the RPMs before installation:

    1. Download the key. For 7.3.1.5 and later:

      https://keys.openpgp.org/vks/v1/by-fingerprint/887B323F485F122FE923214FD01B4B4B6F379E7E

      For 7.3.1.4 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 7.3.1.5 and later:

      gpg --import 887B323F485F122FE923214FD01B4B4B6F379E7E.asc
    4. Download all the '7.3.1.1' 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 /tmp -name '*.rpm');
      
    7. Confirm that all the commands for each RPM report:

      Good signature from "Moogsoft Information Security Team "<security@moogsoft.com>"
    8. You can now remove the RPMs and .sig files. Yum will download the packages from the online repository for the actual installation.

  3. Create an Elasticsearch Yum repository as a new file /etc/yum.repos.d/elasticsearch.repo with the following contents:

    [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
  4. Install the RabbitMQ Erlang el7 package. For example:

    yum -y install https://github.com/rabbitmq/erlang-rpm/releases/download/v20.1.7/erlang-20.1.7-1.el7.centos.x86_64.rpm

    Alternatively you can find the file at https://github.com/rabbitmq/erlang-rpm/releases/tag/v20.1.7.

  5. 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.

  6. Install the Elasticsearch public key. For example:

    rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
  7. Create a Bash script named create_nginx_repo.sh with the following contents:

    #!/bin/bash 
    
    echo '[nginx]' > /etc/yum.repos.d/nginx.repo
    echo 'name=nginx repo' >> /etc/yum.repos.d/nginx.repo
    echo 'baseurl=http://nginx.org/packages/OS/OSRELEASE/$basearch/' >> /etc/yum.repos.d/nginx.repo
    echo 'gpgcheck=0' >> /etc/yum.repos.d/nginx.repo
    echo 'enabled=1' >> /etc/yum.repos.d/nginx.repo 
    
    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
  8. Execute the create_nginx_repo.sh script to create the Nginx Yum repo. For example:

    bash create_nginx_repo.sh
  9. 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
  10. Install Java 11:

    VERSION=11.0.11.0.9; yum -y install java-11-openjdk-headless-${VERSION} java-11-openjdk-${VERSION} java-11-openjdk-devel-${VERSION}
  11. Install the Extra Packages for Enterprise Linux (EPEL) Yum repository and enable the optional packages:

    yum 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.

  12. 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"
  13. The next step 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.

  14. 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 > aiops_repo.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/install_percona_nodes.sh 2>/dev/null
    echo
    _EOF_
    bash aiops_repo.sh;
  15. 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.

  16. 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

The pre-installation steps are now complete. See RPM installation for information on how to continue with the Moogsoft AIOps installation. See Upgrade Moogsoft AIOps for information on how to upgrade Moogsoft AIOps.