Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Warning
titleNetVizura needs dedicated server

For security reason, make sure that your server or VM doesn't have anything installed on it before NetVizura installation. Other software of services running on the same server can impact installation.

Warning
titleNetVizura needs correct time

Before installing NetVizura make sure to set the time on your server correctly. Time change after the installation will invalidate the license!

Warning
titleNetVizura installation needs internet access

NetVizura requires working connection to the internet to install required dependent software. After installation is successful you can turn off internet access for NetVizura server.

Info

Netvizura depends on OpenJDK 8, Tomcat 8.0.14 or higher and PostgreSQL 12 or higher. NetVizura relies on 3rd-party repositories for installation of these software packages.

Info
Before installing NetVizura you will have to install: Oracle Java 1.7, Tomcat 7 and PostgreSQL 9.2 or higher, in that order.

The installation process has been tested on

Debian 7.
Panel
bgColorGhostWhite
titleColorwhite
titleBGColorSteelBlue
titleOn this page:

Table of Contents
indent20px

Debian 10 and Debian 11. It is important that Debian is 64-bit OS.

Installation Steps

Note

To be able to install NetVizura, you will need a root privileges.

NetVizura Installation Steps

To install NetVizura follow these steps:

Step 1: sudo package installation: execute apt-get install sudo

Step 2: Oracle Java 1.7 package installation:

 

Note

Default Java implementation is OpenJDK. You need to install Oracle Java package. Java packages should be installed before the Tomcat7 packages, if not Tomcat will use OpenJDK

 

  1. To add the WebUpd8 Oracle Java PPA repository to the Software Sources in Debian, use the following commands:

    echo "deb http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee /etc/apt/sources.list.d/webupd8team-java.list
    echo "deb-src http://ppa.launchpad.net/webupd8team/java/ubuntu precise main" | tee -a /etc/apt/sources.list.d/webupd8team-java.list
    apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys EEA14886
  2. execute command apt-get update
    1. ignore the error about "public key is not available"
  3. execute command apt-get install oracle-java7-installer and answer affirmatively to "Proceed without verification" and all other installation questions
  4. execute command ln -s /usr/lib/jvm/java-7-oracle /usr/lib/jvm/default-java to set Oracle's Java as a default Java on the system
  5. check if java is properly installed with command java -version
Note
If you are behind a firewall / router that blocks some of the redirects required to download the Oracle Java archive, you can download the JDK tar.gz archive manually and place it under /var/cache/oracle-jdk7-installer - then, installing the "oracle-java7-installer" package will use the local archive instead of trying it to download it itself.

Step 3: Tomcat 7 package installation:

  1. execute command apt-get install tomcat7
  2. start Tomcat: service tomcat7 start
  3. verify that Tomcat is running properly with the command service tomcat7 status

Step 4: PostgreSQL package installation

  1. Create a file pgdg.list in /etc/apt/sources.list.d/ with some text editor: nano /etc/apt/sources.list.d/pgdg.list and add the following line:
    deb http://apt.postgresql.org/pub/repos/apt/ wheezy-pgdg main

  2. execute command: wget --quiet -O - http://apt.postgresql.org/pub/repos/apt/ACCC4CF8.asc | sudo apt-key add -

  3. execute command apt-get update

  4. execute command apt-get install postgresql postgresql-client

  5. verify that PostgreSQL is running properly with the command service postgresql status

 

Step 5: NetVizura packages installation
After this steps, install the NetVizura packages downloaded from the website with the command: dpkg -i downloaded_file_name.deb

 

To access the application, type http://myip:8080/netvizura in your browser. The default user account with administrator privileges is: username: admin, password: admin01

Post Install Steps

After installation it is needed to tweak the configuration files in

Installation of 3rd-party repositories and prerequisite software

Download and execute Debian prerequisite installation script:

Code Block
languagebash
themeDJango
su
apt update -y ; apt-get -y install sudo wget
wget https://www.netvizura.com/files/products/general/downloads/netvizura-5.2-prerequisites-debian.sh --output-document=/tmp/netvizura-prerequisites-debian.sh
bash /tmp/netvizura-prerequisites-debian.sh


Step 2: NetVizura package installation

Download NetVizura DEB package from NetVizura website to NetVizura server's /tmp directory and execute the following command:


Code Block
languagebash
themeDJango
sudo dpkg -i /tmp/downloaded_file_name.deb


Step 4: Verify installation

Excerpt Include
ISO Image Installation
ISO Image Installation
nopaneltrue

Anchor
Post Install Steps
Post Install Steps
Post Install Steps

After installation tweaking of configuration files is required in order to utilize the installed RAM to the fullest extent. The main consumers of RAM are operating system, PostgreSQL database and Tomcat.

A

General rule

of thumb

for distributing memory is to split it in ratio 2:1 between PostgreSQL and Tomcat with 1 GB or more reserved for operating system.

For

 For instance:

Installed RAMPostgreSQLTomcatOS
4 GB2 GB1 GB1 GB
16 GB10 GB5
GB1
GB
Tweaking Tomcat memory allocation
In the following example
1 GB
of RAM is allocated for Tomcat process:
  • Edit file /etc/default/tomcat7
  • Locate JAVA_OPTS environment variable that defines memory and uncomment it if it is 
commented. This line looks something like the following:
    JAVA_OPTS="-Djava.awt.headless=true -Xmx128M -XX:+UseConcMarkSweepGC"
  • Modify the -Xmx parameter to allocate additional memory to Tomcat. Additionally, set parameter -Xms to the same amount. This should look something like:
    JAVA_OPTS="-Djava.awt.headless=true -Xms1024M -Xmx1024M -XX:+UseConcMarkSweepGC"
  • Edit file /etc/init.d/tomcat7
  • Locate JAVA_OPTS environment variable that defines memory. This line looks something like the following:
    JAVA_OPTS="-Djava.awt.headless=true -Xmx128M"
  • Modify the -Xmx parameter. Additionally, set parameter -Xms to the same amount as -Xmx. This should look something like:
    JAVA_OPTS="-Djava.awt.headless=true -Xms1024M -Xmx1024M"
  • Save the file and restart Tomcat: service tomcat7 restart
  • Tweaking PostgreSQL

    Tweaking PostgreSQL for best performance is a topic on which many books were written, but the following are some common sense suggestions

    . In general there are two groups of PostgreSQL tweaks that are helpful for NetVizura performance - "safe" and "unsafe" tweaks. "Safe" tweaks are those which can be applied in all cases. "Unsafe" tweaks trade reliability for performance

    . For the curious ones recommended reads (among countless others) are PostgreSQL Optimization Guide

    , this article and this book

    .

    In order to apply following tweaks edit file /etc/postgresql/PG_VERSION_NUMBER/main/postgresql.conf. You will need to restart the PostgreSQL service after done editing with command:

    service

    systemctl restart postgresql

    restart

    . Almost all of the following parameters are commented with carron character (#).

    Although these tweaks are considered "safe" do take notice of the default values. Usually you can

    Be aware that if you comment out the parameter that has been changed

    and PostgreSQL will

    , PostgreSQL will revert to the default value.

     

    PostgreSQL "safe" tweaks
    Excerpt

    In the following example it is assumed that 4 GB of RAM is allocated for PostgreSQL. 

    Note

    Before changing any parameters in postgresql configuration read the provided comments in the table below for more information regarding specific parameter.

     

    parameterrecommended valuecomment
    max_connections30NetVizura rarely uses more than 10 connections simultaneously, but it is good to have some reserve.
    shared_buffers1024MB
    the
    The recommended amount is RAM/4.
    effective_cache_size2048MB
    the

    The recommended amount is RAM/2, possibly even RAM * 3/4

    chekpoint_segments32for write intensive apps (as NetVizura) it should be at least 16, with 32 as safe maximum

    .

    checkpoint_completion_target0.
    9 
    7This parameter can take values between 0 and 1. Default is set to 0.5, which means that the write phase of checkpoint process will take half of the checkpoint timeout time. Increasing this value will provide more time for checkpoint write phase to finish, thus decreasing IO usage.
    default_statistics_target100 
    work_mem
    8MB
    32-
    12MB
    64MB

    The formula used is max_connections*work_mem <= RAM/

    8

    4, but using a bit more is still

    "safe"

    PostgreSQL "unsafe" tweaks

    These optimizations are considered "unsafe" since they could in very rare cases lead to data loss and/or corruption. If your VM is properly backed up we would consider the following optimizations safe. The following bring huge performance boosts to DB write process.
    parameterrecommended valuecommentmaitenance_work_mem32MBspeeds up DB self clean process, not really important

    fine.

    maintenance_work_mem256MBSpeeds up DB self clean process. Usually 4*work_mem or something in that ballpark
    wal_buffers16MB

    Increasing wal_buffers is helpful for write-heavy systems. Usually this is 16MB.

    min_wal_size 

    1GBIf WAL files are under this size, files will be recycled for future checkpoints.

    max_wal_size

    2GBMaximum size of WAL files, after that CHECKPOINT command is be issued and files are written to disk.

    effective_io_concurrency

    2Number of simultaneous request that can be handled efficiently by disk subsystem.
    wal_buffers16MB 
    full_page_writesoff
     
    Turning this parameter off speeds up normal operation, but might lead to either unrecoverable data corruption, or silent data corruption, after power outage, OS or HDD failure. The risks are similar to turning off fsync, though smaller.
    fsyncoff
    don
    Don't wait for HDD to finish previous write operation. This brings the most benefit, but
    is considered potentially the most unsafe of all. If
    if there is power outage, OS or HDD failure in exact instant when PSQL issues write command to HDD, that data will be lost and the DB itself could be corrupted. On the other hand, DB can issue several magnitude more write commands in the same time period and consider all these done, thus improving write performance immensely.
    synchronous_commitoff
    similarly
    Similarly to "fsync" but
    less unsafe and
    with less benefit
    checkpoint_segments64how much is cached in temp files before it is issued to proper DB files. Issuing big chunks of data for write rarely is usually better for performance than issuing small chunks often
    .
    Parallel system optimization (PSQL => 9.6)
    max_worker_processes2Number of cores
    max_parallel_workers_per_gather1Number of cores/2
    (PSQL > 9.6) max_paralllel_workers2Number of cores

    Tomcat Memory Allocation 

    During installation NetVizura automatically allocates memory for Tomcat process. The amount allocated to Tomcat process is calculated according to the formula:

    (RAMtotal - 1GB) / 3 but no less than 1GB.


    For instance:

    Total RAMTomcat
    3 GB1 GB
    4 GB1 GB
    16 GB5 GB

     

    However, if you need to tweak Tomcat RAM allocation differently (the example for 2048MB):

    1. Edit file /etc/default/tomcat8 (Debian 9) or /etc/default/tomcat9 (Debian 10)
    2. Locate JAVA_OPTS environment variable that defines memory and uncomment it if it is commented. This line looks something like the following:
      JAVA_OPTS="${JAVA_OPTS} -Xmx1024m -Xms1024m +UseConcMarkSweepGC"
    3. Modify the -Xmx parameter to allocate additional memory to Tomcat. Additionally, set parameter -Xms to the same amount. This should look something like:
      JAVA_OPTS="-Djava.awt.headless=true -Xmx2048M -Xms2048M -XX:+UseConcMarkSweepGC"

    Save the file and restart Tomcat: systemctl restart tomcat8 (Debian 9) systemctl restart tomcat9 (Debian 10)

    Elasticsearch Memory Optimization

    By default, the memory limit for Elasticsearch should be set to 30% of RAM. If you need it to be set to any other value, edit the file: /etc/elasticsearch/jvm.options, and set values -Xms and Xmx to desired size. Then, restart the Elasticsearch and Tomcat services.


    Panel
    bgColorGhostWhite
    titleColorwhite
    titleBGColorSteelBlue
    titleOn this page:

    Table of Contents
    indent20px