Omniscope 2018+ is available for common Linux distributions as both a desktop application and a headless server.  

It requires a recent version of any popular Linux distributions on x64 hardware.  We've tested Ubuntu Desktop & Server 12.04+, CentOS 5/6/7+, and the Amazon EC2 AMI.  


N.B. Omniscope Classic desktop interface will be in beta for the foreseeable future;

These instructions are tailored to Ubuntu.


Installation on a Linux server via terminal

This describes how to install Omniscope on a Linux server without a graphical desktop environment, such as Ubuntu Server via an SSH terminal session.

  1. Read and approve the EULA before proceeding.

      

  2. Log in as the user account you wish to use for Omniscope.

    This account will be the activated account, and the account that runs the Omniscope Server service.  You should arrive in your home directory (~/, or /home/username).  These instructions assume you remain in this directory.
     

  3. Stop and remove any previous installation
    e.g. stop an existing service by executing : sudo service omniscope-server stop or kill - 15 -f com.visokio
    Once all Omniscope processes have been stopped, remove the installation. To permanently remove the existing version:
    rm -rf ~/visokio-omniscope
    Alternatively, rename the folder so it is available for restoring later if you run into issues with the new version:
    mv visokio-omniscope visokio-omniscope-old
    Either way, make sure that neither a "VisokioOmniscope-Linux.tgz" file nor a "visokio-omniscope" folder exist in your home directory.
       
  4. Download the Linux "tgz" to your home directory

    Visit the Omniscope download page.  Alpha partners will find the link to this page on the forums announcement after logging in.  Choose the version you want, and copy the URL for the TGZ file.  Then enter:

    wget <url>
    ls
    You should now have "VisokioOmniscope-Linux.tgz" in your current (home) directory as shown by ls.
     

  5. Extract files

    tar zxf VisokioOmniscope-Linux.tgz
    ls
    You should now have "visokio-omniscope" in your current (home) directory as shown by ls.
    rm VisokioOmniscope-Linux.tgz
      

  6. Move to chosen installation location

    You can place the "visokio-omniscope" folder anywhere, but we recommend:

      

    • In your home directory; does not require superuser privileges/sudo, but only available to the user who installed it. It should already be in this location.

      For example: /users/antonio/visokio-omniscope
      Omniscope launch command: ~/visokio-omniscope/omniscope.sh
        

    • System-wide in the /opt directory; requires superuser privileges/sudo.

      For example: /opt/visokio-omniscope
      Omniscope launch command: /opt/visokio-omniscope/omniscope.sh
      To install here:
      sudo mv visokio-omniscope /opt
        

  7. Configure the launcher scripts (memory and cpu architecture)

    Check how much memory you have installed (you want the figure in the total Mem cell):
    free -m
    Check what architecture your server is ("x86_64" for 64-bit; if don't see this, your system is not fully supported):
    uname -m
    In a terminal text editor, open visokio-omniscope/_launch.sh:
    nano visokio-omniscope/_launch.sh

    By default, Omniscope is configured to run in 64-bit mode.  If installing on a 32-bit server, which is not fully supported, change the JAVA_CMD line as instructed in the comments:
    JAVA_CMD=x64/bin/java if on a 64-bit system (java is bundled with Omniscope)
    JAVA_CMD=/path/to/32-bit/java     
    if on a 32-bit system (not fully supported)
    Edit the JAVA_VM_PARS line, changing "1100m" to the desired memory cap - depending on what other memory intensive processes are installed, we recommend 50% to 75% of physical memory, the figure shown by the free command, above [1] :
    JAVA_VM_PARS=... -Xmx8000m ... if on a 64-bit system with 16gb memory
    JAVA_VM_PARS=... -Xmx4000m ...      if on a 64-bit system with 8gb memory
    JAVA_VM_PARS=... -Xmx2000m ...      if on a 64-bit system with 4gb memory
    JAVA_VM_PARS=... -Xmx1000m ...      
    if on a 32-bit system with 2gb memory; don't go higher than this for 32-bit systems
    Save and exit. 

    • [1] N.B. we suggest you leave at least 256 MB of memory for the Ubuntu OS.

  8. Activate and set up Omniscope from the command line:

    You should use the Omniscope Setup Console to activate and configure server with a minimal configuration for web-based administration:
    ~/visokio-omniscope/omniscope.sh -setup
    This has an interactive console-based menu. Or, for a fully automated/scripted setup:
    ~/visokio-omniscope/omniscope.sh -autosetup LICENSE_KEY ADMIN_PASSWORD

    But, if using a version before 2021.1 b21111, you will need to use the following command to activate with your Omniscope license key (and later on will need to edit config.xml manually on a headless server):

    ~/visokio-omniscope/omniscope.sh -activate XXXX-XXXX-XXXX-XXXX

    On  some linux distributions you might receive an error, because some of the fonts are not installed on the system. To solve the problem install the package fontconfig. On Ubuntu and Debian based distributions you can solve the issue by installing running the command: 
    sudo apt install fontconfig 



  9. Install additional required packages

    On Linux Omniscope requires the "MonetDB" and "libgfortran3" packages to be present to run correctly on your machine.

    To install libgfortran3, simply execute:

    sudo apt-get install libgfortran3



    If you try to start Omniscope without MonetDB, you will find an error message in the log saying "MonetDb server not found on your Linux OS."


    To install MonetDB packages on Ubuntu and other Linux distro, please follow instructions at https://www.monetdb.org/Downloads


    Omniscope relies on a particular version of the packages and it will show a warning in the app if the packages are not configured correctly.

    For example, at the time of writing the correct version of the package is 11.29.7.


    On Ubuntu these are the commands to execute in sequence to install the MonetDB packages required by Omniscope:


     a) Create a file /etc/apt/sources.list.d/monetdb.list with the following contents (replacing "suite" with your system's code name which you may be able to get by running the command lsb_release -cs, e.g. trusty)

     

    deb https://dev.monetdb.org/downloads/deb/ suite monetdb
    deb-src https://dev.monetdb.org/downloads/deb/ suite monetdb



     b) Then issue the following command to install the MonetDB GPG public key:


    wget --output-document=- https://www.monetdb.org/downloads/MonetDB-GPG-KEY | sudo apt-key add -


     c) After this, you can use apt to install the MonetDB packages. First run:

     

    sudo apt update



     d) To install MonetDB/SQL, use the command:
     

    sudo apt-get install monetdb5-sql=11.29.7 monetdb5-server=11.29.7 monetdb-client=11.29.7

    If this fails, it's possible that the given version is no longer available; you should remove the "=xx.yy.z" version suffixes and repeat. However this will be running against an untested newer version of MonetDB; contact Visokio Support for advice for production servers.

    e) Add any users who are allowed to run a database server to the monetdb group, which was automatically created in the previous step:
     

    sudo usermod -a -G monetdb $USER


    On CentOS (extracted from this guide https://www.monetdb.org/downloads/epel/ ) these are the sequence of commands to run to install the packages with the right version:
     

    sudo yum install https://dev.monetdb.org/downloads/epel/MonetDB-release-epel.noarch.rpm
    sudo rpm --import https://dev.monetdb.org/downloads/MonetDB-GPG-KEY
    sudo yum install MonetDB-SQL-server5-11.29.7 MonetDB5-server-11.29.7 MonetDB-client-11.29.7
    sudo usermod -a -G monetdb $USER


  10. (Optional) Running Omniscope as a service (systemd)
    It is possible to install Omniscope to run as a system service. This section will describe how to use install omniscope-headless.sh as a service. Similar instructions can be followed for other launching scripts or service managers.

    Create a new file with called omniscope-headless.service in /etc/systemd/system open the file using a text editor and add the content:

    [Unit]
    Description=Omniscope Server
    After=syslog.target network.target remote-fs.target nss-lookup.target

    [Service]
    Type=simple
    User=OMNISCOPE_USER
    WorkingDirectory=OMNISCOPE_HOME
    ExecStart=OMNISCOPE_HOME/omniscope-headless.sh
    Restart=on-failure

    [Install]
    WantedBy=multi-user.target

    replacing OMNISCOPE_HOME with the full path where omniscope is installed and OMNISCOPE_USER with the username used to run omniscope. Save the file and exit. To enable the service use the command:

    systemctl enable omniscope-headless.service


    You can check the state of the service, and retrieving the service logs using systemctl.

  11. (Optional) Running Omniscope on privileged ports
    By default, you'll be running as an unprivileged user. To allow Omniscope to serve on privileged ports (under 1024) such as 80, you need to install and use authbind:

    sudo apt-get install authbind

    next, create an empty file with the same name as the port Omniscope will be using in `/etc/authbind/byport/`. For example to use port 80 (http) and 443 (https):

    sudo touch /etc/authbind/byport/80
    sudo touch /etc/authbind/byport/443


    Change the owner of the files to the user running omniscope (replace OMNISCOPE_USER with the name of your user)


    sudo chown OMNISCOPE_USER /etc/authbind/byport/80
    sudo chown OMNISCOPE_USER /etc/authbind/byport/443


    Change the files permissions to 500:

    sudo chmod 500 /etc/authbind/byport/80
    sudo chmod 500 /etc/authbind/byport/443


    finally start omniscope-headless using authbind:

    authbind --deep ./omniscope-headless.sh



    Alternatively, you could use iptables or privbind

    To run omniscope using privbind as a service, the easiest solution is to create a new script in the omniscope installation folder with the content (called for example omniscope-headless-authbind.sh):

    #!/bin/bash
    /usr/sbin/authbind --deep ./omniscope-headless.sh


    Depending on your distribution authbind might be installed on a different location. You can find where authbind binaries are located on you system with the command: which authbind

    Make the new file executable via chmod + x omniscope-headless-authbind.sh
    Finally modify the file /etc/systemd/system/omniscope-headless.service by changing the ExecStart to refer to the omniscope-headless-authbind.sh.



  12. Configure Omniscope

    Earlier, you should already have used the Omniscope Setup Console to activate, enable the external web server, and configure an admin username and password. Without this, you cannot configure Omniscope on a headless server (a server without a desktop environment).

    As such, when Omniscope has started (using ~/visokio-omniscope/omniscope.sh), you should be able to visit http://your-server-ip:port/ in your browser, where port is by default 8080 on Linux (unless you customised it in earlier section about privileged ports). 

    From there, you can log in as as the user you created in the setup console (typically "admin") and the password you previously configured, in order to have full permissions server-wide to administer every aspect of the server. Follow the "Admin" section on the left to configure the server, or edit permissions in a folder using the 3 dots menu, top-right of the page.

    However, if using a version before 2021.1 b21111, which did not have the setup console, you will need to edit the "config.xml" file manually (please be careful when doing so).
    To enable the Web Server you have to set the "runWebServer" property in the config.xml file to "true": <servernetworking runWebServer="true" ...
    Contact Visokio for more help with this.







Installation on a Linux desktop

This describes how to install Omniscope on a Linux system with a graphical desktop environment, such as Ubuntu Desktop 12.10.

  1. Read and approve the EULA before proceeding.
     
  2. Download the Linux "tgz" package.

    From your Linux desktop, open your browser and visit the Omniscope 2.8 download page.  Alpha partners will find the link to this page on the forums announcement after logging in. For example, "VisokioOmniscope-Linux.tgz".
     

  3. Extract files

    Double-click to open with Archive Manager

     

  4. Move to chosen installation location

    You can place the "visokio-omniscope" folder anywhere, but we recommend:


    • In your home directory; does not require superuser privileges/sudo, but only available to the user who installed it.

      For example: /users/antonio/visokio-omniscope
      Omniscope launch command: ~/visokio-omniscope/omniscope.sh

    • System-wide in the /opt directory; requires superuser privileges/sudo.

      For example: /opt/visokio-omniscope
      Omniscope launch command: /opt/visokio-omniscope/omniscope.sh

  5. Configure the launcher scripts and install the additional packages

    Follow the instructions for installing on a Linux server, above.
     

  6. Create a launcher
    If required, create a launcher icon on your desktop.  More info.

     

  7. Launch Omniscope by double-clicking the launcher created above

    Or, use a terminal command listed below.

      

  8. Enter license key on the welcome screen, if you have one.  Otherwise, register for a free trial.



Linux commands

These terminal commands assume you've installed into your home directory.


Omniscope Evo


~/visokio-omniscope/omniscope.sh

Launches the new Omniscope Evo application. 

If launched from an interactive desktop session, the app will be running in background and available in the OS system tray.

Your system default browser will open up pointing to the Omniscope Evo welcome page.

Otherwise (if launched from a headless terminal console, such as via SSH or from Ubuntu Server), the app will run in headless mode.


~/visokio-omniscope/omniscope-headless.sh

Same as omniscope.sh, but explicitly launches Omniscope Evo application in headless mode. This is necessary only on systems with desktop environments, when you wish to execute Omniscope as a headless process. It is implicit on servers without a graphical interface.
You will need to access Omniscope from a browser on a different machine, and will need to have set up Omniscope already via the terminal using the Omniscope Setup Console.


Setup commands


~/visokio-omniscope/omniscope.sh -setup

Launches the Omniscope Setup Console, for terminal-based configuration of the bare minimum needed to begin with an Omniscope headless server. See above. An interactive console-based menu will be shown, where you can activate, refresh, deactivate and setup, and see summary information about the installation.


~/visokio-omniscope/omniscope.sh -autosetup LICENSE_KEY ADMIN_PASSWORD

Launches the Omniscope Setup Console in automated mode for silently configuring the minimum needed to begin with an Omniscope headless server, e.g. for use from a cloud VM init script.
It activates using the license key given, enables the external web server, and creates an 'admin' user account with the password given. For example:

~/visokio-omniscope/omniscope.sh -autosetup XXXX-XXXX-XXXX-XXXX mypassword


Omniscope Server Classic 

 

~/visokio-omniscope/omniscope-server.sh

Launches the Omniscope Classic Server application, for serving Omniscope Mobile reports, scheduling data refreshes, and executing XML actions in watch folders.

If launched from an interactive desktop session, the server dashboard window will appear, where you can start/stop and configure the Omniscope Server services.

Otherwise (if launched from a headless terminal console, such as via SSH or from Ubuntu Server), the server will run in headless mode.


Either way, status of services and scheduled tasks can be monitored in ~/scheduler/log.txt and the server configuration, containing scheduled tasks and Mobile server configuration, is located in ~/scheduler/config.xml.

Requires same the user account to be activated with a Server edition license key.

The desktop interface in Linux is in beta and may suffer minor visual issues.

 

~/visokio-omniscope/omniscope-server-headless.sh

As above, but always launches in headless mode.  Useful if you're in a Desktop session but want to launch the server in non-interactive headless mode.


Omniscope Classic


~/visokio-omniscope/omniscope-classic.sh

Launches the Omniscope Classic desktop application.  If not licensed, this will be the free Viewer, allowing you to open and explore IOK files.

Activation and free trial registration are available from the application's welcome screen.  Once licensed, use this to import and explore data, and create and share reports in IOK format.

Can only be used from an interactive desktop session on a desktop operating system such as Ubuntu Desktop. 

The desktop interface in Linux is in beta and may suffer minor visual issues.

The desktop interface in Linux is in beta and may suffer minor visual issues.


Omniscope Viewer Classic


~/visokio-omniscope/omniscope-viewer.sh

As above, but launches the Omniscope Classic desktop application in Viewer mode.  Useful if you're currently licensed and want to preview the experience in the free Viewer.

The desktop interface in Linux is in beta and may suffer minor visual issues.

 



Activation commands


Use appropriate start script (see above). Alternatively, use the Omniscope Setup Console (above).


~/visokio-omniscope/omniscope-headless.sh -activate key

Use when unlicensed.  Activates the current user account with the key specified.
The key must be in the format xxxx-xxxx-xxx-xxxx

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-headless.sh -reactivate


Use when activated.  Renews and refreshes the license for current user account.  If Visokio have extended or upgraded your license, you will need to do this.  

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-headless.sh -activationinfo


Displays the licensing state of the current user account.

Non-interactive; check the terminal console for status/error messages.

 

~/visokio-omniscope/omniscope-headless.sh -deactivate

Use when activated.  Deactivates the current user account and makes the license key available to activate on another system (up to 3 transfers, depending on license - not available for trial keys).

Requires an active internet connection.  Non-interactive; check the terminal console for status/error messages. 



Other commands 



kill -15 PID

Where PID is the process ID of the Omniscope Java process. (You can obtain the PID by executing "ps aux | grep java" and identifying the Omniscope java process)

Use this command to gracefully stop the Omniscope app if you have started it through one of the above scripts.

      

kill -15 -f com.visokio

Use this command to gracefully stop any Omniscope app running on your machine.

 

sudo service omniscope-server start

Starts the Omniscope Server service.  Note: the service starts automatically on system startup.

Requires the Omniscope Server service to be installed - see the Server section above.  Requires Omniscope to be activated on the user account the service is configured to run as.


 

sudo service omniscope-server status

Displays the running/stopped status of the Omniscope Server service.

Requires the Omniscope Server service to be installed - see the Server section above.


 

sudo service omniscope-server stop

Stops the Omniscope Server service.  Note: the service starts automatically on system startup.

Requires the Omniscope Server service to be installed - see the Server section above.