Installation

Planing

Operating system

NetXMS server can work on:

  • Windows 7 and higher, Windows Server 2003 and higher
  • Red Hat Enterprise Linux, SUSE Linux, CentOS, Debian Linux, Ubuntu Linux
  • FreeBSD, NetBSD, OpenBSD
  • Solaris 10, 11
  • HP-UX 11.23, 11.31
  • AIX 5.3+

NetXMS agent can work on:

  • Windows XP and higher, Windows Server 2003 and higher
  • Linux
  • FreeBSD, NetBSD, OpenBSD
  • Solaris
  • HP-UX
  • AIX

OpenSSL is required for encryption support (UNIX only).

Server

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

Database

Supported database engines:

  • Microsoft SQL 2005 and higher
  • MySQL 5.1 and higher
  • Oracle 11g, 12
  • PostgreSQL 9.1 and higher
  • DB/2 v10
  • 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 on Debian or Ubuntu

We provide packages for Debian users at http://packages.netxms.org/, which is our public APT repository. Packages are signed, and you’ll need to install additional encryption key for signature verification.

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

Install netxms-release_1.1_all.deb package that contain description of NetXMS repository (this package support all Debian and Ubuntu systems):

$ wget http://packages.netxms.org/netxms-release_1.1_all.deb

$ sudo dpkg -i netxms-release_1.1_all.deb

Update APT cache:

sudo apt-get update

Manually

Add the repository to your sources.list (change “jessie” to correct distro name):

deb http://packages.netxms.org/debian/ jessie main

Fetch and install the GnuPG key:

wget -q -O - http://packages.netxms.org/netxms.gpg | sudo apt-key add -

Update APT cache:

sudo apt-get update

Installing packages

Server

To install server use this command:

apt-get install netxms-server

Server does not include server drivers. They should be installed with separate command:

apt-get install DRIVER_NAME

Change DRIVER_NAME to driver name that you need:

  • netxms-dbdrv-pgsql - PostgreSQL driver
  • netxms-dbdrv-mysql - MySQL driver
  • netxms-dbdrv-odbc - unixODBC driver (can be used with DB/2 and Microsoft SQL)
  • netxms-dbdrv-oracle - Oracle driver

Server default credentials:

Login: admin

Password: netxms

Agent

To install agent use this command:

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-x86.tar.gz or nxmc-VERSION-linux-gtk-x64.tar.gz, for example nxmc-1.2.17-linux-gtk-x64.tar.gz).

  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. Tested containers: Tomcat7, Jetty7.

  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-1.2.17.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/tomcat7/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.exe or netxms-VERSION-x64.exe, for example netxms-VERSION.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

If you plan to run NetXMS console from the same machine, select Administrator’s Console option as well.

  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_step1.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, you will be prompted for various polling parameters:
_images/win_server_config_step1.png
  • Check Run IP autodiscovery process check-box, if you wish NetXMS server to automatically discover your IP network.
  • Increase number of status and configuration pollers if you plan to monitor large number of nodes.
  1. On the next window, enter address of your SMTP server. NetXMS will use it to send notification e-mails. If you have mobile phone attached to management server via serial cable or USB, select mobile phone driver and COM port; otherwise, select “<none>”.
  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_step1.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_step1.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-1.2.0.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, as described below:

    Subagent Description ping.nsm Adds possibility to send ICMP pings from monitored host. Ping round-trip times can be collected by management server. 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.

  4. 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 Linux installer(named nxmc-VERSION-win32-x86.zip or nxmc-VERSION-win32-x64.zip, for example nxmc-1.2.17-win32-x64.zip).
  2. Extract zip in preferred directory.
  3. Run nxmc file form extracted catalog.

Web Management Console:

Windows have 2 options: to install manually servlet container and just download tar and the second one is to use netxms-webui-VERSION.exe installer. Installer will install by himself jetty and copy into required folder tar file. There will be described only automated way of installation:

  1. Download the latest version from http://www.netxms.org/download. You will need Windows installer netxms-webui-VERSION-x64.exe or netxms-webui-VERSION.exe (example: netxms-webui-1.2.17-x64.exe).
  2. Run the installer package on your server machine. Installation wizard will be shown. Follow the prompts. While installation it will be possible 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-0.2.20.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 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-1.0.5.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

Agent

To install Android agent download netxms-mobile-agent-VERSION.apk (example: netxms-mobile-agent-1.2.17.apk) file form 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 it should be set next parameters: 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 there: Monitoring mobile devices.

Console

To install Android console download netxms-console-VERSION.apk (example: netxms-console-1.2.17.apk) file form 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.

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:

    PostgreSQL:

    createuser -P netxms
    createdb -O netxms netxms
    
    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
    
    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;
    
    DBDriver = oracle.ddr
    DBServer = //127.0.0.1/XE # instant client compatible connection string
    DBLogin = netxms
    DBPassword = PaSsWd
    
  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:

    PostgreSQL:

    /usr/local/bin/nxdbmgr init /usr/local/share/netxms/sql/dbinit_pgsql.sql
    

    MySQL:

    /usr/local/bin/nxdbmgr init /usr/local/share/netxms/sql/dbinit_mysql.sql
    

    Oracle:

    /usr/local/bin/nxdbmgr init /usr/local/share/netxms/sql/dbinit_oracle.sql
    

    SQLite:

    /usr/local/bin/nxdbmgr init /usr/local/share/netxms/sql/dbinit_sqlite.sql
    
  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

By default nxmc.war will try to connect to NetXMS server at address 127.0.0.1. To change that, create configuration file called nxmc.properties as following:

server = 127.0.0.1
sessionTimeout = 120
enableAdvancedSettings = true

Change server property to IP address or host name of your NetXMS server and put properties file to class path of your application server. Default locations for different servers are following:

Jetty

Tomcat

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

Oracle Weblogic

$WEBLOGIC_HOME/user_projects/domains/YOURDOMAIN

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.