GNMS - Gnome Network Management System
About FAQ News Gallery Download Get involved
Introduction
Beginning...Early in 2003, I was surprised to not found a free NMS tool on Linux,
a lightweight tool version of HP OpenView,
Castle Rock SNMPc,
Ipswitch What's Up
or just a simple network supervisor. I knew Cheops-NG but it was no use with what I sought.
Thus I started working on my own, it was on mid January 2003.
It is written, for Linux platform, in Ruby with Gnome2 bindings.
What is a NMS ?
A NMS, stands for Network Management System, is a system used to managed the state of network elements.States can be determined though two ways:
- Semi-real time by polling informations
- Real time by catching SNMP trap events and SYSLOG messages
Main features
Visual representation
Elements monitored (aka nodes) are displayed and mapped on the main window.-
Each node icon represents it's actual OS vendor logo or
device type (also defined by the node form)
Device type are as follows:
Switch 
Router 
Firewall 
Device 
Printer 
Host 
Server 
Gateway 
Network 
- Each node color represents it's actual states among
|
CRITICAL
|
All metric we monitor are not responding |
|
MAJOR
|
Almost all metric we monitor are not responding |
|
WARNING
|
At least one metric we monitor is not responding |
|
MINOR
|
At least one metric we monitor is not responding |
|
NORMAL
|
Node is ok |
|
UNMANAGED
|
Node is not monitored |
|
UNKNOWN
|
Node status is not yet determined |
This state is computed from four monitoring values: Service, SNMP, Custom script, Trap.
Semi-real time to real time monitoring
Active monitoring via polling:- Node availability is done via ICMP queries
- Service availability is done via NMAP command wrapper
- Threshold exceeded is done via SNMP queries
-
Other metric can be followed via Custom Monitoring plugins for:
url monitoring, database monitoring, application monitoring, traffic monitoring, vendor specific monitoring, resource monitoring, service monitoring
- SNMP trap server SNMPv1 or SNMPv2 traps are received and processed to identify if trap source address is known and if it is configured to handle this OID.
- SYSLOG server messages UDP messages are received and processed to identify if message source address is known and if it is configured to handle this message defined by a regular expression.
Notification
Alerting can be done via one of the following method:- Syslog
- Popup
- Sound (just a beep or sound file playing)
- SMS* through Ruby-SMS lib embedded but needs Ruby-Serialport lib
- External script execution
Storage
Configuration file is stored as plain text YAML fileNetwork nodes topology can be stored as:
- XML file
- SQL DB*
Misc.
- Auto discovery: IP address, MAC address, OS (by using NMAP and xprobe2 finger printing)
- Network topology*
- Advanced node finder
- IP calculator
- MIB browser*
- Tree node manager
- Windowed/fullscreen node map
- Plugins support
* still need some work
© 2003-2007, David Maciejak