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

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 Supported Environments.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. Install Kernel Asynchronous I/O (AIO) Support for Linux. For example:

    mkdir -p ~/install/libraries/ && cd ~/install/libraries/ && \
    curl -L -O http://mirror.centos.org/centos/7/os/x86_64/Packages/libaio-0.3.109-13.el7.x86_64.rpm && \rpm2cpio ./libaio-0.3.109-13.el7.x86_64.rpm | cpio -idmv && \
    rm -f ./libaio-0.3.109-13.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 -
  2. Install libgfortran. For example:

    mkdir -p ~/install/libraries/ && cd ~/install/libraries/
    for PACKAGE in libquadmath-4.8.5-39.el7.x86_64.rpm libgfortran-4.8.5-39.el7.x86_64.rpm; do
        curl -L -O http://mirror.centos.org/centos/7/os/x86_64/Packages/$PACKAGE && \
        rpm2cpio $PACKAGE | cpio -idmv && \
        rm -f $PACKAGE
    done
    echo "export LD_LIBRARY_PATH=$(pwd)/usr/lib64:\$LD_LIBRARY_PATH" >> ~/.bashrc && \
    source ~/.bashrc
    
    cd -
  3. Install Percona dependencies. 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;
    
    curl -L -O http://mirror.centos.org/centos/7/extras/x86_64/Packages/libev-4.15-7.el7.x86_64.rpm
    
    for PACKAGE in perl-5.16.3-294.el7_6.x86_64.rpm perl-Pod-Escapes-1.04-294.el7_6.noarch.rpm perl-libs-5.16.3-294.el7_6.x86_64.rpm perl-macros-5.16.3-294.el7_6.x86_64.rpm xinetd-2.3.15-13.el7.x86_64.rpm perl-Carp-1.26-244.el7.noarch.rpm perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm perl-DBD-MySQL-4.023-6.el7.x86_64.rpm perl-DBI-1.627-4.el7.x86_64.rpm perl-Data-Dumper-2.145-3.el7.x86_64.rpm perl-Digest-1.17-245.el7.noarch.rpm perl-Digest-MD5-2.52-3.el7.x86_64.rpm perl-Encode-2.51-7.el7.x86_64.rpm perl-Exporter-5.68-3.el7.noarch.rpm perl-File-Path-2.09-2.el7.noarch.rpm perl-File-Temp-0.23.01-3.el7.noarch.rpm perl-Filter-1.49-3.el7.x86_64.rpm perl-Getopt-Long-2.40-3.el7.noarch.rpm perl-HTTP-Tiny-0.033-3.el7.noarch.rpm perl-IO-Compress-2.061-2.el7.noarch.rpm perl-Net-Daemon-0.48-5.el7.noarch.rpm perl-PathTools-3.40-5.el7.x86_64.rpm perl-PlRPC-0.2020-14.el7.noarch.rpm perl-Pod-Perldoc-3.20-4.el7.noarch.rpm perl-Pod-Simple-3.28-4.el7.noarch.rpm perl-Pod-Usage-1.63-3.el7.noarch.rpm perl-Scalar-List-Utils-1.27-248.el7.x86_64.rpm perl-Socket-2.010-4.el7.x86_64.rpm perl-Storable-2.45-3.el7.x86_64.rpm perl-Text-ParseWords-3.29-4.el7.noarch.rpm perl-Time-HiRes-1.9725-3.el7.x86_64.rpm perl-Time-Local-1.2300-2.el7.noarch.rpm perl-constant-1.27-2.el7.noarch.rpm perl-parent-0.225-244.el7.noarch.rpm perl-podlators-2.5.1-3.el7.noarch.rpm perl-threads-1.87-4.el7.x86_64.rpm perl-threads-shared-1.43-6.el7.x86_64.rpm socat-1.7.3.2-2.el7.x86_64.rpm rsync-3.1.2-6.el7_6.1.x86_64.rpm lsof-4.87-6.el7.x86_64.rpm 
    do
    	curl -L -O http://mirror.centos.org/centos/7/os/x86_64/Packages/${PACKAGE};
    done;
    yum install *.rpm
  4. 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.0.0/install_percona_nodes_tarball.sh 2>/dev/null
    echo
    _EOF_
    bash aiops_repo.sh
  5. Execute the .bashrc file:

    source ~/.bashrc
  6. 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
  7. 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 HA Installation.