Skip to main content

Moogsoft Onprem - Offline RPM pre-installation

You must perform certain preparatory tasks before you install Moogsoft Onprem v9.1.0.

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

Important

The packages bundled with this deployment model are based on the rhel-8.X-x86_64-dvd.iso install rather than the rhel-8.X-x86_64-boot.iso. It is possible that some dependencies might be missing for your specific environment. Contact Moogsoft Support if this is the case.

If you are performing another type of installation, see:

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

  • You are familiar with the supported versions of third party software, as outlined in Moogsoft Onprem 9.x Supported Environments.Moogsoft Onprem v8.x Supported Environments

Installation process pre-requisite

An experienced Linux RHEL System Administrator is required to perform the installation/upgrade. If help is needed, please contact Moogsoft Support in order to engage Moogsoft Professional Services

Download the installation files

Complete the following steps before you perform an offline RPM installation of Moogsoft Onprem:

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

    • 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/v9/install_percona_nodes.sh 2>/dev/null
    curl -L -O https://\$AIOPS_USER:\$AIOPS_PASS@speedy.moogsoft.com/v9/offline/2024-04-08-1712581945-MoogsoftBASE8_offline_repo.tar.gz
    curl -L -O https://\$AIOPS_USER:\$AIOPS_PASS@speedy.moogsoft.com/v9/offline/2024-04-08-1712581945-MoogsoftESR_9.1.0_offline_repo.tar.gz
    echo
    _EOF_
    bash aiops_repo.sh;
  2. Download the Percona and dependency packages using cURL on an internet-connected host:

    PERCONA_VERSION="8.0.35-27.1";
    for PACKAGE in percona-xtradb-cluster-shared percona-xtradb-cluster-shared-compat percona-xtradb-cluster-server percona-xtradb-cluster-client percona-xtradb-cluster-icu-data-files;
    do
    	curl -L -O https://repo.percona.com/pxc-80/yum/release/8/RPMS/x86_64/${PACKAGE}-${PERCONA_VERSION}.el8.x86_64.rpm 
    done
    PERCONA_XTRABACKUP_VERSION="8.0.35-30.1";
    curl -L -O http://repo.percona.com/tools/yum/release/8/RPMS/x86_64/percona-xtrabackup-80-${PERCONA_XTRABACKUP_VERSION}.el8.x86_64.rpm
    
    mkdir percona_dependencies
    cd percona_dependencies
    
    dnf download haproxy perl-Carp perl-constant perl-Data-Dumper perl-DBD-SQLite perl-DBI perl-Encode perl-Errno perl-Exporter perl-File-Path perl-File-Temp perl-Getopt-Long perl-HTTP-Tiny perl-interpreter perl-IO perl-libs perl-macros perl-Math-BigInt perl-Math-Complex perl-MIME-Base64 perl-parent perl-PathTools perl-Pod-Escapes perl-podlators perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Term-ANSIColor perl-Term-Cap perl-Text-ParseWords perl-threads perl-threads-shared perl-Time-Local perl-Unicode-Normalize rsync lsof make ncurses-compat-libs perl-URI perl-libnet perl-IO-Socket-IP perl-Digest-MD5 perl-Digest perl-Error perl-Git perl-TermReadKey git git-core git-core-doc xinetd libev mariadb-connector-c mariadb-connector-c-config python2 python2-libs python2-pip-wheel python2-setuptools-wheel python2-pip python2-setuptools perl-IO-Socket-SSL perl-Net-SSLeay perl-DBD-MySQL perl-Mozilla-CA perl-Text-Tabs+Wrap socat emacs-filesystem less openssh-clients iproute iproute-tc numactl-libs logrotate --downloadonly --downloaddir=. --forcearch=x86_64 --exclude=*.i686
    
    REPO_URL=https://repo.percona.com/yum/release/8/RPMS/x86_64;
    RPM_FILE=$(curl -s -L ${REPO_URL} 2>/dev/null | egrep ">qpress-[0-9]+" | sed "s/.*\(qpress.*.rpm\).*/\1/" | tail -n 1)
    curl -s -L -O ${REPO_URL}/${RPM_FILE}
    
  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 Onprem components.

  5. 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 Onprem 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 *-MoogsoftBASE8_offline_repo.tar.gz -C /media/localRPM/BASE/
    
    tar xzf *-MoogsoftESR_9.1.0_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. Disable the RHEL system repository monitor:

    subscription-manager config --rhsm.manage_repos=0
  5. Create an empty /etc/yum.repos.d directory. For example:

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

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

    [BASE]
    name=Moogsoft-$releasever - BASE
    baseurl=file:///media/localRPM/BASE/RHEL
    gpgcheck=0
    enabled=1
    module_hotfixes=true
    [ESR]
    name=Moogsoft-$releasever - ESR
    baseurl=file:///media/localRPM/ESR/RHEL
    gpgcheck=0
    enabled=1
    module_hotfixes=true
  8. Clean the Yum cache:

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

    yum info "moogsoft-*"
    
    Available Packages
    Arch        : x86_64
    Version     : 9.1.0 
    Release     : XYZ
    Size        : 123 M
    Repo        : ESR
    Summary     : Algorithmic Intelligence for IT Operations
    URL         : https://www.moogsoft.com
    License     : Proprietary
    Description : Moogsoft AIOps (9.1.0) - 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
  10. Install the downloaded Percona dependency RPMs and Percona RPMs on all servers that will house a database node:

    yum -y install percona_dependencies/*.rpm
    yum -y install percona-xtradb-cluster-*.rpm percona-xtrabackup-*.rpm
  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.

Configure OpenSearch vm.max_map_count

To allow users to run an OpenSearch 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

Then apply the new property value using this command (requires root/sudo permissions):

sudo sysctl -p

Configure user ulimits for RHEL8

Run the following commands as root to set appropriate RHEL8 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.

Your local Yum repositories are now ready. Proceed with your offline installation or upgrade