Skip to main content

Moogsoft Enterprise - Offline Tarball pre-installation

This topic covers the pre-installation process for an offline tarball installation of Moogsoft Enterprise. Follow these steps if:

  • You want to do the installation as a non-root user. The steps also work for the root user. You must perform all steps as the same user.

  • You want to install Moogsoft Enterprise to a directory of your choice.

  • The Moogsoft Enterprise servers on which you will install Moogsoft Enterprise do not have internet access.

You should consider doing an RPM install if you:

  • Have root access to the Moogsoft Enterprise servers.

  • Do not need to install Moogsoft Enterprise to a specific directory.

If you initialize Moogsoft Enterprise using the root user account, the initialization process creates the following system users to support the deployment:

  • moogsoft

  • moogadmin

  • elasticsearch

  • nginx

  • rabbitmq

  • moogtoolrunner

  • mysql

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 the pre-installation steps, verify the following:

  • You have a CentOS 7 or RHEL 7 system on which to install Moogsoft Enterprise.

  • You have removed any existing environment variables such as $MOOGSOFT_HOME from previous installations.

  • You have identified the Linux user you will use to perform the installation and manage Moogsoft Enterprise.

  • If this is a distributed or HA install, we recommend that the Linux user has the same username and group for all servers where you will install Moogsoft Enterprise components.

  • If you are planning to run a process on a port below 1024 (for example, nginx), add the Linux user to the sudo list.

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

  • You are running OpenSSL v1.0.2 or later. Run openssl version to check.

  • If you are initializing Moogsoft Enterprise as a non-root user, make sure that ports 8443 and 8080 are open.

  • If you are initializing Moogsoft Enterprise as a root user, make sure that ports 443 and 80 are open.

  • The hostnames and IP addresses of the primary, secondary and redundancy servers.

  • That the network ports between Moogsoft Enterprise are open. See Distributed HA system Firewall for more information.

  • What your RabbitMQ zone name is.

  • That the redundancy server will run the Percona database, Elasticsearch and RabbitMQ.

  • The location of a working directory of at least 5 GB in size to copy the Moogsoft Enterprise installation files to.

  • The location of an installation directory ($MOOGSOFT_HOME) of at least 150 GB in size to contain the following directories:

    • A database data directory. This defaults to $HOME/moog_datastore. See the Sizing Recommendations for guidelines on how large this directory should be.

    • An Elasticsearch index directory of at least 20 GB in size. This defaults to $MOOGSOFT_HOME/var/lib/elasticsearch.

    • A RabbitMQ mnesia directory of at least 20 GB in size. This defaults to $MOOGSOFT_HOME/var/lib/rabbitmq/mnesia.

    • A Percona directory of at least 2 GB in size to store the program files and libraries. This defaults to $HOME/install.

    • A log file directory of at least 50 GB in size. This defaults to $MOOGSOFT_HOME/log. Directory size requirements depend on the number of components running, the log level and, for LAMs, whether data capture is turned on.

    You should have enough disk space for the installation and planned growth of the database and Elasticsearch indexes. The default installation installs files into three different directories which are configurable.

Pre-installation steps

Before you perform an offline Tarball installation of Moogsoft Enterprise, you must download all required files on a system that has internet access.

  1. Create to a directory for the downloaded files. You will collect the downloaded files in this directory and then move these files to the working directory.

    mkdir preinstall_files
    cd preinstall_files
  2. Download Percona dependencies, and other dependency packages:

    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm;
    
    REPO_URL=http://mirror.centos.org/centos/7/os/x86_64/Packages;
    for PACKAGE in libaio libquadmath libgfortran perl perl-Pod-Escapes perl-libs perl-macros xinetd perl-Carp perl-Compress-Raw-Bzip2 perl-Compress-Raw-Zlib perl-DBD-MySQL perl-DBI perl-Data-Dumper perl-Digest perl-Digest-MD5 perl-Encode perl-Exporter perl-File-Path perl-File-Temp perl-Filter perl-Getopt-Long perl-HTTP-Tiny perl-IO-Compress perl-Net-Daemon perl-PathTools perl-PlRPC perl-Pod-Perldoc perl-Pod-Simple perl-Pod-Usage perl-Scalar-List-Utils perl-Socket perl-Storable perl-Text-ParseWords perl-Time-HiRes perl-Time-Local perl-constant perl-parent perl-podlators perl-threads perl-threads-shared socat rsync lsof perl-TermReadKey;
    do
    	RPM_FILE=$(curl -s -L ${REPO_URL} 2>/dev/null | egrep ">${PACKAGE}-[0-9].*" | egrep 'x86_64|noarch' | sed "s/.*\(${PACKAGE}.*.rpm\).*/\1/")
    	echo "Downloading ${PACKAGE}"
    	curl -s -L -O ${REPO_URL}/${RPM_FILE}
    done;
    
    REPO_URL=http://mirror.centos.org/centos/7/extras/x86_64/Packages;
    for PACKAGE in libev;
    do
    	RPM_FILE=$(curl -s -L ${REPO_URL} 2>/dev/null | egrep ">${PACKAGE}-[0-9].*" | egrep 'x86_64|noarch' | sed "s/.*\(${PACKAGE}.*.rpm\).*/\1/")
    	echo "Downloading ${PACKAGE}"
    	curl -s -L -O ${REPO_URL}/${RPM_FILE}
    done;
    
  3. Download Percona files:

    curl -L -O https://downloads.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.24/binary/tarball/percona-xtrabackup-2.4.24-Linux-x86_64.glibc2.12.tar.gz
    
    curl -L -O https://downloads.percona.com/downloads/Percona-XtraDB-Cluster-57/Percona-XtraDB-Cluster-5.7.36-31.55/binary/tarball/Percona-XtraDB-Cluster-5.7.36-rel39-55.1.Linux.x86_64.glibc2.12.tar.gz
  4. Download the HA Proxy RPM (require root permissions):

    yum install --downloadonly --downloaddir ./ haproxy
  5. Download AIOps Percona installer script and AIOps installer files. Substitute your "speedy" Yum repo user credentials:

    VERSION=8.2.0;
    curl -L -O "https://<username>:<password>@speedy.moogsoft.com/repo/aiops/8.2.0/install_percona_nodes_tarball.sh"
    curl -L -O "https://<username>:<password>@speedy.moogsoft.com/installer/moogsoft-enterprise-${VERSION}.tgz.sig"
    curl -L -O "https://<username>:<password>@speedy.moogsoft.com/installer/moogsoft-enterprise-${VERSION}.tgz"
    
  6. Compress the downloaded files in the preinstall_files directory:

    cd ..
    tar -czvf preinstall_files${VERSION}.tgz preinstall_files
    
  7. Copy preinstall_files${VERSION}.tgz to each Moogsoft Enterprise server's working directory.

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

    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.

The pre-installation steps are now complete.

To continue with a non-high availability (HA) Moogsoft Enterprise installation, see Tarball Installation.

To continue with an HA installation, see Basic HA Installation - Tarball or High Availability Installation.