Install NetXMS with Ubuntu 15.10

network-security-2

NetXMS is an enterprise grade network management and performance monitoring system. It provides a detailed reports in the form of graphs, logs etc. It grab almost all of the required information which will be necessary for any kind of monitoring system like  mac or ip based information discovery, easy to handle event processing or web based or console based management, it is an Open Source tool available for Microsoft and Linux based operating systems.

Some of the highlighter features

General

  1. Data is collected either from SNMP or from native NetXMS agents.
  2. SMS and email alerts like features are provided.
  3. Event forwarding to another netXMS server.
  4. Automatic network discovery for OSI layer 2 and 3.
  5. Uses very low system resources.

Security

  1. Authenticated with username and and password.
  2. Group level user level rights can be managed.
  3. Smart cards, RADIUS server are supported.

Integration

  1. Native C and JAVA (Tomcat) API for rapid customization.
  2. Based on modular server and agent architecture.
  3. Built in interface with help desk system.
  4. Firewall friendly communication.

Please refer following link for more details

https://www.netxms.org/details/

Prerequisites and Installation steps

We will need a Fresh Ubuntu 15.10 System with at least 4 GB RAM, 8 GB free disk space. In form of software we will required tomcat6 or tomcat7, mysql-server and some other supporting tools.

Step 1. Prepare system by installing all of the prerequisites

Update system

# apt-get update

Install  mysql

# apt-get install mysql-server

Install latest version of apache tomcat

# apt-get install tomcat7

Install  libmysqlclient-dev and libssl packages

   # apt-get install libmysqlclient-dev
   # apt-get install libssl-dev

Create a database and a user to have access this newly created database.

# mysql -u root -p mysql
mysql> CREATE DATABASE netxms;
mysql> GRANT ALL ON netxms.* TO netxms@localhost IDENTIFIED BY 'password';
mysql> \q

Step 2. Now download NetXMS server package

Download latest copy of NetXMS server package from this link

# wget http://www.netxms.org/download/archive/netxms-1.2.17.tar.gz

Extract package

# tar -xvf netxms-1.2.17.tar.gz

Step 3. Configure package

# sh ./configure --with-server --with-mysql --with-agent
# make 
# make install

If package is successfully installed you will got a message something like below

Configure results
---------------------------------------------------------------------

Prefix                  : /usr/local
Platform                : Linux
Shared library suffix   : .so
Build Server            : YES
Server libs             :  -lssl -lrt
LDAP support            : NO
XMPP support            : YES
Encryption enabled      : YES
Build DB-Drivers        : mysql
Build Clients           : NO
Build Agent             : YES
Subagents list          : linux
Build Static Agent      : NO
UNICODE build           : NO
Use internal libexpat   : YES
Use internal libtre     : YES
Use internal libjansson : YES
Use internal zlib       : NO
Force 32bit build       : NO
C compiler              : gcc
C++ compiler            : g++
CPPFLAGS                :  -D_THREAD_SAFE -DTRE_WCHAR=1 -D_GNU_SOURCE -O2 -Wformat -I/usr/local/include -DPREFIX=\"${prefix}\" -DDATADIR=\"${pkgdatadir}\" -DBINDIR=\"${bindir}\" -DLIBDIR=\"${libdir}\" -DPKGLIBDIR=\"${pkglibdir}\" -DNDEBUG
CXXFLAGS                : -g -O2 -fno-rtti -fno-exceptions
CFLAGS                  : -g -O2
LDFLAGS                 :   -L/usr/local/lib
LIBS                    : -lresolv -lz -ldl  -lpthread -lcrypto
MySQL CPPFLAGS          : -I/usr/include/mysql
MySQL LDFLAGS           : -L/usr/lib/mysql
MySQL LIBS              : -lmysqlclient

Everything looks good up to this stage let use make next move and download following two sample files to /etc from package directory.

# cp contrib/netxmsd.conf-dist /etc/netxmsd.conf 
# cp contrib/nxagentd.conf-dist /etc/nxagentd.conf

Open  /etc/netxmsd.conf  file and contents fo the file must be something like below, make sure you to match Database password.

# nano /etc/netxmsd.conf

Sample output

DBDriver = mysql.ddr
DBServer = localhost
DBName = netxms
DBLogin = netxms
DBPassword = password
LogFile = /var/log/netxmsd
LogFailedSQLQueries = yes

Open /etc/nxagentd file and put following line at the end of the file

# nano  /etc/nxagentd
MasterServers = 127.0.0.1, 192.168.1.4

When you are done initialize the database

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

Initialize agent and server services

 # /usr/local/bin/nxagentd -d
 # /usr/local/bin/netxmsd -d

Step 4. Download and run we b based management  utility

Download latest version of nxmc package required for web based management from this link

# wget https://www.netxms.org/download/archive/webui/nxmc-1.2.17.war

Copy that downloaded package to   tomcat webapp directory which is  /var/lib/tomcat7/webapps/

#  cp nxmc.x.x.war  /var/lib/tomcat7/webapps/

Rename that pacakge to nxmc

# rename nxmc-1.2.17 nxmc

Open your browser and type

http://ip_address:8080/nxmc

Login with default user: admin default password: netxms

Selection_020

Change admin password

Selection_021

You can manage all of your network resource with this  console

Selection_022

 

Explore features available with NetXMX by yourself.

Selection_023

 

Have fun!!