Moogsoft Enterprise - Online Tarball pre-installation

This topic covers the pre-installation process for an online 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.

  • Your servers can connect to the internet and to Yum repositories outside your network.

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.0.x 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.0.x 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.

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

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

  • Make sure that ports 8443 and 8080 are open on your server.

  • 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 $MOOGSOFT_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 $MOOGSOFT_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.

    Ensure that you 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 online Tarball installation of Moogsoft Enterprise, complete the following tasks on the server on which you will install Moogsoft Enterprise:

  1. Download all dependency RPMs by running the following command:

    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;
  2. Install Kernel Asynchronous I/O (AIO) Support for Linux. For example (run the whole codeblock as one command):

    mkdir -p ~/install/libraries/ && \
    mv libaio-*.el7.x86_64.rpm ~/install/libraries/ && \
    cd ~/install/libraries/ && \
    rpm2cpio ./libaio-*.el7.x86_64.rpm | cpio -idmv && \
    rm -f ./libaio-*.el7.x86_64.rpm && \
    rm -f ~/install/libraries/lib64/libaio.so.1 && \
    ln -s ~/install/libraries/lib64/libaio.so.1.0.1 ~/install/libraries/lib64/libaio.so.1 && \
    echo "export LD_LIBRARY_PATH=`pwd`/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc && \
    source ~/.bashrc
    
    cd -
  3. Install libquadmath and libgfortran. For example:

    mkdir -p ~/install/libraries/ && \
    mv libquadmath-*.rpm ~/install/libraries/ && \
    mv libgfortran-*.rpm ~/install/libraries/ && \
    cd ~/install/libraries/ && \
    for PACKAGE in libquadmath libgfortran; do
        rpm2cpio ${PACKAGE}*.rpm | cpio -idmv && \
        rm -f ${PACKAGE}
    done
    echo "export LD_LIBRARY_PATH=$(pwd)/usr/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc && \
    source ~/.bashrc
    
    cd -
  4. Install the Percona dependency RPMs downloaded earlier as well as a couple of new ones. This step requires root privileges:

    curl -L -O http://repo.percona.com/percona/yum/release/7/RPMS/x86_64/qpress-11-1.el7.x86_64.rpm;
    
    yum install *.rpm
  5. 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. Substitute your "speedy" Yum repo user credentials:

    cat > aiops_repo.sh << _EOF_
    #!/bin/bash
    clear
    echo "Please provide access credentials for the 'speedy' yum repository in order to run 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.1.0/install_percona_nodes_tarball.sh 2>/dev/null
    echo
    _EOF_
    bash aiops_repo.sh
  6. Execute the .bashrc file:

    source ~/.bashrc
  7. 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
  8. 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

    Log out of the Moogsoft Enterprise user interface 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.