NMIS - Network Management Information System
| Table of Contents
|
NMIS Version 0.8b is writen 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. |
||||||||||||||||||||||||||||||||||||||||
| 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. Setting up web access Apache should already be working, easiest thing to do is add aliases for the relevent directories
Alias /nmis/ "<BASE>/web" ScriptAlias /cgi-nmis/ "<BASE>/cgi-bin"
make sure that follow sym links is enabled. In the base htdocs directory create sym links for the web directory, the nmis.css style sheet. In the CGI-BIN directory create a directory "nmis" then create sym links for the following files which are in the "bin" directory: stats.pl and logs.pl, if all is going well things might be working by now. Running NMIS 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
|
|||||||||||||||||||||||||||||||||||||||||