SonarC Installation

SonarC should only be installed on 64 bit RHEL Linux.

SonarC Upgrade

Please consult with your SonarC representative in order to get the upgrade procedure that matches your setup.

RAID Setup

SonarW deployments should use disks RAID-0 or RAID-10 setup. RAID-5 and RAID-6 do not typically provide sufficient performance. While RAID-0 provides good write performance, it also provides limited durability particularly when using Amazon’s EBS volumes. Note: A minimum of 10TB is recommended for a typical SonarW setup and data typically is stored in /var/lib/sonarw or SonarC data in /var/lib/sonargd. It is recommended that you mount your raid drives and when prompted during the install process select the appropriate mount point.

Consult your Linux system administrator on how to set up a RAID.

Prerequisites

Edit the file:

/etc/security/limits.conf

Add the lines:

sonarw soft nofile 55536
sonarw hard nofile 55536

This can be done with the following command:

sudo sed -i '$ i\
sonarw           soft    nofile          55536\
sonarw           hard    nofile          55536
' /etc/security/limits.conf

How to install SonarC on RHEL 7

If you have a different MongoDB Clients (other than 3.6) Already Installed

If you are currently running MongoDB clients/tools on your local system using a version other than 3.6 you need to replace them with the 3.6 version otherwise you may encounter compatibility issues.

If you can not change your existing installation please contact your SonarC account manager for additional support prior to moving forward with this installation.

Otherwise please uninstall any existing Mongo tools or components.

Once the packages are installed, you will need to run the setup in order to configure the system.

The setup script will ask for several inputs. It is better to have this information ready beforehand.

Information required for the setup:

  • Target location for the data folder (to be used by the data warehouse). This needs to be a full path to a local/mounted folder with enough disk space to contain the system data (for example /mnt/raid0). Note the setup script will ask you to define the path for “sonarw” using this example the data path will be /mnt/raid0/sonarw
  • Target location for the data files folder (to be used by the system). This needs to be a full path to a local/mounted folder with enough disk space to contain the data imported from collectors (for example /mnt/raid0). Note the setup script will ask you to define the path for “sonargd” using this example the data path will be /mnt/raid0/sonargd
  • Target location for the reports folder, will be used for storing report files generated by the system. The setup script will ask you to define the path for “reports”. Using this example the data path will be /mnt/raid0/reports
  • The setup will ask you to define locations for several disk sorts, by default those will be located under the “data” directory, you can leave them with the default locations, or provide alternate locations. The 2 location requested are: “BSON sort directory” and “external sorting directory”
  • Password for the “admin” user - this user is the main administrator of the system
  • Password for the “secAdmin” user - this user is the users’ administrator
  • Password for the “sonargd” user - this is a linux user that will be used for DM transfer into the system
  • Password for the sonarg_user - this is a standard end user
  • System main contact (email address for system notification)
  • “From” email address - an address to be used in the “from” field of the system’s outgoing emails
  • SMTP information: SMTP IP address/domain name, port, user-name and password, whether the SMTP is using ssl (this information is required for system notifications)
  • When asked whether you have a cloud storage you wish to use for the data reply no
  • You will also be asked for the is_master port – the port used by the dynamic DNS service to determine whether the node is up on an HADR. set to ‘-1’ to disable this feature.
  • Public IP of the system

Installation using package repository:

Enable Extra Packages for Enterprise Linux (epel):

sudo rpm -U https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm

Add the SonarC RHEL7 repository:

sudo cat <<'EOF' | sudo tee /etc/yum.repos.d/jsonar.repo
[Jsonar]
name=Jsonar Repository
baseurl=http://<your user name>:<your password>@rpm.jsonar.com/
enabled=1
priority=1
gpgcheck=0
EOF

Add rsyslog repository:

sudo cat <<'EOF' | sudo tee /etc/yum.repos.d/rsyslog.repo
[rsyslog_v8]
name=Adiscon CentOS-$releasever - local packages for $basearch
baseurl=http://rpms.adiscon.com/v8-stable/epel-7/$basearch
enabled=1
gpgcheck=0
gpgkey=http://rpms.adiscon.com/RPM-GPG-KEY-Adiscon
protect=1
EOF

Add daal Analytics repository:

sudo cat <<'EOF' | sudo tee /etc/yum.repos.d/intel-daal-core-2018.1-163.repo
[intel-daal-core-2018.1-163]
name='Intel(R) Data Analytics Acceleration Library'
baseurl=https://yum.repos.intel.com/daal
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/daal/setup/PUBLIC_KEY.PUB
debuglevel=10
enabled=1
EOF

Add mkl Analytics repository:

sudo cat <<'EOF' | sudo tee /etc/yum.repos.d/intel-mkl-core-2018.1-163.repo
[intel-mkl-core-2018.1-163]
name='Intel(R) Math Kernel Libray'
baseurl=https://yum.repos.intel.com/mkl
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://yum.repos.intel.com/mkl/setup/PUBLIC_KEY.PUB
debuglevel=10
enabled=1
EOF

Note that SonarC requires version 3.6 of MongoDB.

Add the MongoDB 3.6 repository:

sudo cat <<'EOF' | sudo tee /etc/yum.repos.d/mongodb-org-3.6.repo
[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
EOF

Note: SonarC only requires “mongodb-org-shell” & “mongodb-org-tools”; these two dependencies will be installed at the same time as SonarC.

Install SonarC:

sudo yum -y install sonarg |& tee sonarg-install.out

SonarC is now installed. To configure SonarC run:

sudo sonarg-setup

Disable port blocking by RHEL firewall:

sudo iptables -F

Remove selinux:

sudo rpm -e selinux-policy selinux-policy-targeted

Restart the rsyslog service:

sudo systemctl restart rsyslog

Installation from static installer (.tar or .tar.gz):

In order to install the SonarC follow the next steps:

  1. download the installer to the target server
  2. Untar the tarball to a local folder (tar -xvf rhel*_*.tar*)
  3. Copy the installation script to the folder containing the original tarball (cp rhel7_sonarg_local_repo/*.sh .)
  4. Add the execution permissions to the install script (sudo chmod +x rhel7_install.sh)
  5. Run the install script (sudo ./rhel7_install.sh |& tee install.log), you will be asked to identify whether this is an upgrade, as well as to select the tarball to be used for installation.
  6. You can review the log file “install.log” to verify whether any errors occurred during installation
  7. Once installation completes, run the setup script (sudo sonarg-setup |& tee setup.log)

Required Ports

The following ports are required for SonarC operation - 8080 (http SonarFinder), 8443 (https SonarFinder), 22 (scp and ssh), 3030 (HADR alive service)

If you need to access sonard from another machine, open port 27117 (SonarW). This is always needed for HADR.

If your Linux system has a firewall installed make sure to open these ports.

In order for the dispatcher to be able to send emails it needs to be able to connect to an SMTP server and will require an outgoing port to be opened (e.g. 587). In order for the dispatcher to be able to copy files to a remote source it will need to be able to do outbound SCP over port 22.

The following diagram shows the required port access. Black arrows indicate a mandatory connection for the system to work and an orange arrow indicates an optional connection. The arrow indicates who initiates the connection:

_images/ports.png