Installation

Planing

Operating system

Both NetXMS server and agent works fine on most operating systems, including Windows, Linux, and commercial UNIXes. However, we test and officially support only some of them.

Supported platforms for NetXMS server and agent:

  • Debian 9 (Stretch), 10 (Buster)
  • Ubuntu 16.04 LTS (Xenial), 18.04 LTS (Bionic), 20.04 LTS (Focal Fossa)
  • Linux Mint 19.3 (Tricia), Linux Mint Debian Edition 4
  • Devuan ASCII
  • Red Hat Enterprise Linux 8
  • CentOS 8
  • Windows 10, Windows Server 2016, 2019
  • FreeBSD 12
  • ArchLinux (Latest)
  • AlpineLinux 3.8+
  • Raspbian Buster

Support for the following platforms provided only to customers with active support contract:

  • Debian 8 (Jessie)
  • Ubuntu 14.04 LTS
  • Devuan Jessie
  • Red Hat Enterprise Linux 6, 7
  • CentOS 6, CentOS 7
  • FreeBSD 11, FreeBSD 11.3
  • Windows 7, Windows 8.1, Windows Server 2008 R2, 2012, 2012 R2
  • AIX 6.1, AIX 7.x
  • SUSE Linux Enterprise Server 11, 12, 15
  • Solaris 11 (agent only)
  • HP-UX 11.31 (agent only)

Server hardware

Minimal requirements: Core 2 duo 1GHz, 1024MB RAM, 1GB disk space.

Database

Database engines supported by NetXMS server:

  • PostgreSQL 9.5, 9.6, 10, 11, 12
  • PostgreSQL with TimescaleDB 11, 12
  • MySQL 5.6, 5.7, 8.0
  • MariaDB 10.1, 10.2, 10.3, 10.4
  • Oracle 12c, 18c, 19c
  • Microsoft SQL Server 2012, 2014, 2016, 2017
  • SQLite (only for test purposes)

Database size and load is very hard to predict, because it is dependent on a number of monitored nodes and collected parameters. If you plan to install database engine on the same machine as NetXMS server, increase your hardware requirements accordingly.

Link to Excel file that allows roughly estimate the size that will be required for database: http://git.netxms.org/public/netxms.git/blob/HEAD:/doc/misc/database_sizing.xlsx

Agent

Agent resource usage is negligible and can be ignored.

Installing from deb repository

We host public APT repository http://packages.netxms.org/ for all deb-based distributions (Debian, Ubuntu, Mint, Raspbian, etc.). Packages are signed, and you’ll need to install additional encryption key for signature verification.

Two components are supported - “main” and “unstable”.

Supported URLs (CODENAME should be replaced withoutput of lsb_release -sc):

Add APT repository

There are two options to add APT repository: by hand or using netxms-release package. Use of the release package is strongly encouraged because it allow easy change in repository configuration and encryption keys updated in the feature.

Using netxms-release package

Download and install netxms-release-latest.deb package, which contain source list file of the repository as well as signing key.

wget http://packages.netxms.org/netxms-release-latest.deb
sudo dpkg -i netxms-release-latest.deb
sudo apt-get update

Manually

Add the repository to your sources.list:

echo "deb http://packages.netxms.org/$(lsb_release -si | tr A-Z a-z) $(lsb_release -sc | tr A-Z a-z) main" > /etc/apt/sources.list.d/netxms.list
wget -q -O - http://packages.netxms.org/netxms.gpg | sudo apt-key add -
sudo apt-get update

Installing packages

Server

Server require two components to function - server itselt (package “netxms-server”) and at least one database abstraction layer driver (multuple can be installed at the same time, e.g. for migration purposes).

Provided driver packages:

  • netxms-dbdrv-pgsql - PostgreSQL driver
  • netxms-dbdrv-mariadb - Mariadb driver
  • netxms-dbdrv-mysql - MySQL driver (not built for Ubuntu 20 / Mint 20)
  • netxms-dbdrv-odbc - unixODBC driver (can be used with DB/2 and Microsoft SQL)
  • netxms-dbdrv-oracle - Oracle driver
  1. Instal required packages (adjust command to match your environment):
apt-get install netxms-server netxms-dbdrv-pgsql
  1. Create user and database (examples).
  2. Modify server configuration file (“/etc/netxmsd.conf” to match your environment.
  3. Load database schema and default configuration:
nxdbmgr init
  1. Start server:
systemctl start netxms-server

Note

Default credentials - user “admin” with password “netxms”.

Agent

Install core agent package (“netxms-agent”) and optional subagent packages, if required:

apt-get install netxms-agent

Management console

Desktop Management Console:

  1. Download the latest version from http://www.netxms.org/download. You will need Linux installer(named nxmc-VERSION-linux-gtk-x64.tar.gz, for example nxmc-3.4.178-linux-gtk-x64.tar.gz). Due to limitation of Eclipse platform used to build the Management Console, only x64 build is currently provided.

  2. Expand package to your preferred directory using command:

    tar zxvf nxmc-VERSION-linux-gtk-x86.tar.gz -C /DESTINATION_DIRECTORY

  3. Run nxmc file from “/DESTINATION_DIRECTORY”.

Web Management Console:

NetXMS web interface is java based and should be deployed into servlet container to run. Minimal supported versions: Jetty 9.3.28, Tomcat 8.5.

  1. Install one of servlet containers that support servlet-api version 3.

  2. Download latest version of WAR file from Web Interface Binaries section http://www.netxms.org/download/ (named nxmc-VERSION.war, for example nxmc-3.4.178.war).

  3. Copy nxmc.war to webapps directory, in a few seconds it will be autodeployed and available at http://SERVER_IP:SERVER_PORT/nxmc/

    Tomcat default folder: /var/lib/tomcat9/webapps

    Jetty default folder: $JETTY_HOME/webapps/

Installing on Red Hat, Fedora, CentOS or ScientificLinux

RPM packages are not released at the moment. Please refer to section Installing from source.

Installing on Windows

Server

  1. Download the latest version from http://www.netxms.org/download. You will need Windows installer (named netxms-VERSION-x64.exe, e.g. netxms-server-3.4.178-x64.exe). Please note that in following steps VERSION will be used as a substitution for an actual version number.
  2. Run the installer package on your server machine. Installation wizard will be shown. Follow the prompts until the Select Components window opens.
  3. On the Select Components window, select NetXMS Server option and an appropriate database client library. You do not have to install database client library from NetXMS package, if it is already installed on the machine.
_images/win_netxms_setup_components.png
  1. For a typical installation keep default settings on Select Additional Tasks window. Set hardened file system permissions makes installation folder accessible only to members of Administrators group and SYSTEM user.
_images/win_netxms_setup_additional_tasks.png
  1. Follow the prompts until Ready to Install window opens.
  2. On Ready to Install window, check whether everything is correct, then press the Install button.
  3. After copying files, Server Configuration Wizard will open:
_images/win_server_config_step1.png

Press the Next button to start NetXMS server configuration.

  1. Database selection window will open:
_images/win_server_config_step2.png
  • Select the desired database engine and driver. For most databases, you will have two drivers available – native and ODBC. Please note that if you select ODBC, you will have to manually configure ODBC source.

  • Enter the name of database server or ODBC source.

  • In DBA login name and DBA password fields, enter database administrator’s login name and password. You have to fill these fields only if you have chosen Create new database option.

  • Enter the desired database name, database user name and password. If you are not using ODBC, the wizard will create database and a user for you. If ODBC is used, database and user should be created beforehand.

    Microsoft SQL note:

    If you wish to use Windows authentication for database connectivity, use * (asterisk) as a login name and leave the password field blank. If you specify asterisk as DBA login, user with which you are logged in to Windows should have administrative rights to the database server. If you use asterisk as DB login, you should run NetXMS Server service as a user with appropriate rights to the database.

    Oracle note:

    We recommend to use native database driver (oracle.ddr).

  1. On the next window, enter address of your SMTP server. NetXMS will use it to send notification e-mails.
  2. Then next window will prompt you for logging method. Either check Event Log or select file, and press the Next button.
  3. Windows service configuration window will appear:
_images/win_server_config_step6.png

In most situations, you can run NetXMS server under Local System account. You may need to run it under specific account if you are using Microsoft SQL database and Windows authentication, or for security reasons.

  1. Windows service dependency window will appear:
_images/win_server_config_step7.png

If you have database engine running on same server, you can find it in service list and mark, so NetXMS server’s service will depend on database service and service startup order will be correct.

13. Follow the prompts until server configuration will be complete. After successful server configuration, installation will be finished, and you will have NetXMS server up and running.

Server default credentials:

Login: admin

Password: netxms

Agent

  1. Download the latest version from http://www.netxms.org/download, if you don’t have it. You will need Windows Agent installer (named nxagent-VERSION.exe or nxagent-VERSION-x64.exe, for example nxagent-3.4.178.exe).

  2. Run the installer package on target server. Installation wizard will be shown. Follow the prompts until the NetXMS Server window opens:

    _images/win_agent_config.png

    Enter IP address or host name of your NetXMS server. You can specify multiple management servers, separating them by commas. Press the Next button to continue.

  3. Subagent selection window will open:

    _images/win_agent_subagents.png

    In this window, you can select which subagents you wish to load. Each subagent extends agent’s functionality, e.g.:

Subagent Description
filemgr.nsm Provides access to spefified folders on monitored host from NetXMS Management Console File Manager. Is also being used for distributing Agent Policy configuration files (see Agent Policies.)
logwatch Allows monitoring log files and Windows Event Log and sending matched events to NetXMS server.
ping.nsm Adds possibility to send ICMP pings from monitored host. Ping round-trip times can be collected by management server.
netsvc.nsm, portcheck.nsm Adds possibility to check network services (like FTP or HTTP) from monitored host.
winperf.nsm Provides access to Windows performance counters. This subagent is required if you need to collect CPU utilization from monitored host.
wmi.nsm Provides access to WMI data.
ups.nsm Adds support for UPS monitoring. UPS can be attached to host via serial cable or USB.

For more information about subagents, please refer to Subagents.

  1. Follow the prompts to complete the installation.

Management console

Desktop Management Console:

  1. Download the latest version from http://www.netxms.org/download. You will need Windows archive (named nxmc-VERSION-win32-x64.zip, for example nxmc-3.4.178-win32-x64.zip). Due to limitation of Eclipse platform used to build the Management Console, only x64 build is currently provided.
  2. Extract zip in preferred directory.
  3. Run nxmc file from extracted catalog.

Web Management Console:

Windows have two options: one is to manually install .war file into servlet container and the second one is to use netxms-webui-VERSION-x64.exe installer. Installer will install Jetty and copy .war file into required folder. Below will be described installation via the installer:

  1. Download the latest version from http://www.netxms.org/download. You will need Windows installer netxms-webui-VERSION-x64.exe (e.g.: netxms-webui-4.3.178-x64.exe). Due to limitation of Eclipse platform used to build the Management Console, only x64 build is currently provided.
  2. Run the installer package on your server machine. Installation wizard will be shown. Follow the prompts. Installer allows to change installation path and port.
  3. After installation procedure is finished check that WEB GUI is available at http://SERVER_IP:SERVER_PORT/nxmc/

Unattended installation of NetXMS Agent

Windows Agent installer (named nxagent-VERSION.exe, for example nxagent-3.4.178.exe), has various command line options for unattended installation. Installation will ignore any configuration file options (/CONFIGENTRY, /NOSUBAGENT, /SERVER, /SUBAGENT) if config file already exists or if /CENTRALCONFIG option is used. These options are following:

Option Description
/CENTRALCONFIG Read configuration from server on startup
/CONFIGENTRY=value It can be used to add any parameter to configuration file during initial install. You can specify it multiple times to add multiple lines. Section names can be added as well.
/DIR=path Set installation directory (default is C:\NetXMS)
/LOCALCONFIG Use local configuration file (it is the default)
/LOG Causes Setup to create a log file in the user’s TEMP directory detailing file installation and [Run] actions taken during the installation process.
/NOSUBAGENT=name Disable subagent name
/SERVER=IP Set server IP address or host name (will be set in configuration file as MasterServers)
/SILENT Don’t show installation wizard, only a progress bar
/SUBAGENT=name Add sub-agent loading directive to configuration file. You can specify this parameter multiple times to add more than one sub-agent. List of possible subagents: Subagents.
/SUPPRESSMSGBOXES Don’t ask user anything
/VERYSILENT Don’t show anything

Example:

nxagent-3.4.178.exe /VERYSILENT /SUPPRESSMSGBOXES /SERVER=10.0.0.1 /SUBAGENT=UPS /SUBAGENT=FILEMGR /CONFIGENTRY=ZoneUIN=15 /CONFIGENTRY=[FILEMGR] /CONFIGENTRY=RootFolder=C:\

This command will add 3 lines at the end of generated config file:

ZoneUIN=15
[FILEMGR]
RootFolder=C:\

Install on Android

Console

To install Android console download netxms-console-VERSION.apk (example: netxms-console-3.4.178.apk) file from http://www.netxms.org/download page. Check that installation of applications from unknown sources is allowed in security settings of your phone. Run this installer on required device.

After agent is installed go to settings and in main menu, connection part set all required connection credentials: server address, port, user name, password.

Note

User that is used for connection should have Login as mobile device user right.

Agent

To install Android agent download netxms-mobile-agent-VERSION.apk (example: netxms-mobile-agent-3.4.178.apk) file from http://www.netxms.org/download page. Check that installation of applications from unknown sources is allowed in security settings of your phone. Run this installer on required device.

After agent is installed go to settings and activate agent. After agent activation several parameters should be set: server address, port, user name, password. They can be found in under main menu, parameters section.

Note

User that is used for connection should have Login as mobile device user right.

Mobile device should be manually added to server. Find more information see: Monitoring mobile devices.

Installing from sources

Server

Since version 2.2.4 encryption support is enforced when building server.

  1. Download source archive (netxms-VERSION.tar.gz) from http://www.netxms.org/download/. VERSION is used in names instead of an actual version number.

  2. Unpack the archive:

    tar zxvf netxms-VERSION.tar.gz

  3. Change directory to netxms-VERSION and run configure script:

    cd netxms-VERSION

    ./configure --with-server --with-pgsql --with-agent

    Most commonly used options (check full list with ./configure --list):

    Name Description
    --prefix=DIRECTORY Installation prefix, all files go to the specified directory
    --with-server Build server binaries. You will need to select at least one DB driver as well
    --with-agent Build monitoring agent. It is strongly recommended to install agent on a server box
    --with-pgsql Build PostgresSQL DB Driver (if you plan to use PostgreSQL as backend database)
    --with-mysql Build MySQL DB Driver (if you plan to use MySQL as backend database)
    --with-odbc Build ODBC DB driver (if you plan to connect to your backend database via unixODBC)
    --with-sqlite Build SQLite DB driver (if you plan to use embedded SQLite database as backend database)
  4. Run build binaries and install them into /usr/local (unless changed with configure flag –prefix)

    make

    make install

  5. Copy sample config file:

    cp contrib/netxmsd.conf-dist /usr/local/etc/netxmsd.conf

    By default, server load configuration file PREFIX/etc/netxmsd.conf (where PREFIX is installation prefix set by configure), unless different file is specified with command line switch “-c”.

  6. Create database user and adjust configuration file (netxmsd.conf) accordingly. Database creation examples can be found there.

  7. Further adjust server configuration file if required.

    Detailed information about each configuration parameter can be found in section Server configuration file (netxmsd.conf).

  8. Create required tables and load initial configuration using nxdbmgr utility:

    /usr/local/bin/nxdbmgr init
    
  9. Run server:

    /usr/local/bin/netxmsd -d
    

Agent

  1. Download source archive (netxms-VERSION.tar.gz) from http://www.netxms.org/download/. VERSION is used in names instead of an actual version number.

  2. Unpack the archive:

    tar zxvf netxms-VERSION.tar.gz

  3. Change directory to netxms-VERSION and run configure script:

    cd netxms-VERSION

    ./configure --with-agent

    Most commonly used options (check full list with ./configure --list):

    Name Description
    --prefix=DIRECTORY Installation prefix, all files go to the specified directory
    --with-agent Build monitoring agent. It is strongly recommended to install agent on a server box
  4. Run build binaries and install them into /usr/local (unless changed with configure flag --prefix)

    make

    make install

  5. Copy sample config file:

    cp contrib/nxagentd.conf-dist /usr/local/etc/nxagentd.conf

    By default, agent load configuration file PREFIX/etc/netxmsd.conf (where PREFIX is installation prefix set by configure), unless different file is specified with command line switch “-c”.

  6. Adjust agent configuration file if required.

    Detailed information about each configuration parameter can be found in section Agent configuration file (nxagentd.conf).

    Minimal required configuration:

    MasterServers = 172.16.1.1 # server's IP - agent will drop connections unless address is whitelisted here
    LogFile = /var/log/nxagentd
    
  7. Run agent:

    /usr/local/bin/nxagentd -d
    

Customizing the compilation process

Adding additional compiler or linker flags

(e.g. fixing atomics)

WebUI additional configuration

Installing web interface on remote system

There are few settings available for configuration in WebUI.

  • server - server DNS name or IP
  • loginFormImage - path to custom login image
  • useEncryption - if encryption should be used
  • sessionTimeout - session timeout

There are multiple ways to set connection configuration from WebUI to NetXMS server. Configuration is check in next order:

  1. Using JNDI. Environment should be set like nxmc/NAME for example: nxmc/server
  2. nxmc.properties properties file in class path of your application server. Should be created in ini format: NAME=VALUE. For example:
server = 127.0.0.1

Default locations:

Jetty

Tomcat

Debian default is /usr/share/tomcat9/lib. Other versions and Linux distribution may have different location.

Oracle Weblogic

$WEBLOGIC_HOME/user_projects/domains/YOURDOMAIN

  1. jvm parameter in format -Dnxmc.NAME=VALUE. For example: -Dnxmc.server=127.0.0.1
  2. Environment variable NXMC_NAME=VALUE. For example NXMC_server=127.0.0.1
  3. If non of above configuration exists, Web UI tries to resolve “NETXMS_server” DNS name for server connection.
  4. If none of above configuration exists, Web UI uses “127.0.0.1” as a server address.

Custom logo on login screen

It is possible to change default logo on login screen to custom image by setting loginFormImage property in nxmc.properties file. Image file must be located within application server’s class path and file name must be given relative to class path root with leading slash. For example, if custom image is in file logo.jpg located in the same directory as nxmc.properties, correct entry will be:

loginFormImage = /logo.jpg

Default login credentials

Default login is “admin” with password “netxms”. On first login, user will be requested to change it immediately.

If required, password can be reset back to default using nxdbmgr utility.

Database creation examples

This chapter provides some database creation SQL examples.

PostgreSQL

createuser -P netxms
createdb -O netxms netxms

If TimescaleDB extension is about to be used, it should be added to the newly created database:

psql netxms
CREATE EXTENSION IF NOT EXISTS timescaledb CASCADE;
\q

Configuration file example:

DBDriver = pgsql.ddr
DBServer = localhost
DBName = netxms
DBLogin = netxms
DBPassword = PaSsWd

MySQL

echo "CREATE DATABASE netxms;" | mysql -u root -p
echo "GRANT ALL on netxms.* to 'netxms'@'localhost' IDENTIFIED BY 'PaSsWd';" | mysql -u root -p

Configuration file example:

DBDriver = mysql.ddr
DBServer = localhost
DBName = netxms
DBLogin = netxms
DBPassword = PaSsWd

Oracle

-- USER SQL
CREATE USER netxms IDENTIFIED BY PaSwD
DEFAULT TABLESPACE USERS
TEMPORARY TABLESPACE TEMP;
-- QUOTAS
ALTER USER netxms QUOTA UNLIMITED ON USERS;
-- ROLES
GRANT CREATE SESSION, CREATE TABLE, CREATE PROCEDURE TO netxms;

Configuration file example:

DBDriver = oracle.ddr
DBServer = //127.0.0.1/XE # instant client compatible connection string
DBLogin = netxms
DBPassword = PaSsWd