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!!