NMIS - Network Management Information System
| Table of Contents
NB: NMIS is still under development and that development is limited by fulltime work and life commitments. I have released it earlier then originally intended as I wanted to contribute something back to the Network Management Community which has helped me. |
NMIS Version 0.8c is written and maintained by Keith Sinclair keith@sinclair.org.au It is available @ SINS - Sinclair InterNetworking Services The software has been released to the Public Domain under the GNU License. This means that it is free if you agree to the terms of the GNU License. If you would like the software under a different agreement please contact Keith Sinclair. |
||||||||||||||||||||||||||||||||||||||||
ANNOUNCEMENT - Last updated 13
October 2000
|
|||||||||||||||||||||||||||||||||||||||||
| Sample Screens - these "screen shots" are output from a production system but edited to protect the innocent. Some of the hyperlinks have been removed. A real system would have many hyperlinks to itself. | |||||||||||||||||||||||||||||||||||||||||
| Supported Platforms - NMIS is written in Perl so theoretically if your toaster runs Perl and has an IP address it can run NMIS. Nearly all the development of NMIS has taken place on Solaris for Sparc and i386. NMIS should work on all versions of Unix, and if you have any feedback on how the install went, problems please let me know on feedback@sins.com.au so I can make some more permanent changes for future releases. | |||||||||||||||||||||||||||||||||||||||||
| Introduction NMIS stands for Network Management Information System. It is a Network Management System which performs multiple functions from the OSI Network Management Functional Areas, those being, Performance, Configuration, Fault. It started as a SNMP polling and statistics viewer front-end to Tobi Oetiker's RRDTool. RRDTool replaces MRTG but doesn't include a front end and backend to handle SNMP polling and display resulting web pages etc. The original NMIS evolved quite rapidly to meet demands of production environments. The backend, polling engine, uses SNMP to collect interface and health statistics for Cisco Routers, certain Cisco Catalyst Switches and Generic SNMP devices every 5 minutes. The backend stores the statistics in RRD's (Round Robin Databases) and ensures that devices are up, issues alerts, etc. The front end accesses the information stored in the RRD's and displays statistics the resulting graphs, reports, etc. Both the front and back ends are highly extensible and features are easy to add as the structure is learnt. For example the backend was just collecting interface statistics every poll cycle, it was easy to add collection of health (cpu, memory, buffer, etc) and response time, availability. I will continue to spell out more about NMIS but for now, have a look at the Features and Benefits, Install it and see what it can do. NMIS is released as GNU software, please ensure that you read the license as by using this software you are bound by it. |
|||||||||||||||||||||||||||||||||||||||||
Features
and Benefits
|
|||||||||||||||||||||||||||||||||||||||||
|
The packages listed in the required packages first following the instructions for each of these packages, some of these packages will have there own dependencies. After the required packages are installed you will need to unpack (if you already haven't) the NMIS distribution. The base directory <BASE> is up to you a Solaris way is to use /opt/<PROGRAM> like /opt/nmis. I use /data/nmis myself. The file system which has the database is going to need a lot of space. You can have the program and library files stored in one file system or directory and the data files stored in another directory. File locations are controlled with the config.dat file, this is the link for the program files to read your configuration you can modify the source to have a different config file but all other directories and control files are stored in this files the default is /data/nmis/files/config.dat The basic directory structure is:
At the moment you should make all directories listed in this file, might automate this later on. Might be a good idea to decide on a location for the data files and keep it separate from the program files as you are likely to upgrade to new program versions. Adding devices to the device list The nodes.dat file lists all the devices you want to manage, this is a CSV file where each line defines node,community,net,type,role,group,collect. Where:
Adding links to the links list More on this later, working on generating a lisk of Point to Point Links automatically. Running NMIS Setting up web access Apache should already be working, easiest thing to do is add aliases for the relevant directories ie: Alias /nmis/ "<BASE>/web" ScriptAlias /cgi-nmis/ "<BASE>/cgi-bin" Add these entries to the apache configuration generally /usr/local/apache/conf/httpd.conf and restart apache either with the command or a kill -HUP on the daemon PID. Now all the CGI scripts and base docs and style sheets will be linked in. You should be able to see something at http://<HOST>/cgi-nmis/nmiscgi.pl and wallah you should have something there. Automate the whole lot with CRON Add the following entries to run NMIS bits and pieces. ###################################################### # Run the Reports Weekly Monthly Daily ###################################################### 54 23 * * * /data/nmis/bin/run-reports.sh day health 55 23 * * 0 /data/nmis/bin/run-reports.sh week health 5 0 1 * * /data/nmis/bin/run-reports.sh month health 0 18 * * * /data/nmis/bin/run-reports.sh day response 57 23 * * 0 /data/nmis/bin/run-reports.sh week outage ###################################################### # Run Statistics Collection 5,10,15,20,25,30,35,40,45,50,55 * * * * /data/nmis/bin/nmis.pl type=collect ###################################################### # Run the update twice a day 30 7,20 * * * /data/nmis/bin/nmis.pl type=update # Run the interfaces once and hour with Thresholding on!!! 10 * * * * /data/nmis/bin/nmis.pl type=threshold
|
|||||||||||||||||||||||||||||||||||||||||
| Required
Packages The following packages and versions are what NMIS was built on, it is highly likely that other versions of the same programs will work but I have not performed the regression tests. The following MOD needs to be made to SNMP_MIB sub_loadoids.html this code can be added to the SNMP_MIB.pm file in the SNMP Simple Package.
|
|||||||||||||||||||||||||||||||||||||||||
To Do
|
|||||||||||||||||||||||||||||||||||||||||