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
- Data is collected either from SNMP or from native NetXMS agents.
- SMS and email alerts like features are provided.
- Event forwarding to another netXMS server.
- Automatic network discovery for OSI layer 2 and 3.
- Uses very low system resources.
Security
- Authenticated with username and and password.
- Group level user level rights can be managed.
- Smart cards, RADIUS server are supported.
Integration
- Native C and JAVA (Tomcat) API for rapid customization.
- Based on modular server and agent architecture.
- Built in interface with help desk system.
- 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
Change admin password
You can manage all of your network resource with this console
Explore features available with NetXMX by yourself.
Have fun!!