NMIS - Network Management Information System http://www.sins.com.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ see what it can do. NMIS is released as GPL software, please ensure that you read the license as by using this software you are bound by it. ANNOUNCEMENTS NMIS 2.00 is available NOW! NOTE: Lots of NMIS has been deprecated! Things that I wanted to do have been done, code simplified, filenames changed and lots of things.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ 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 or problems please let the team know @ nmis_users@yahoogroups.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ 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. Package Version Tested Author Download Perl 5.6.0 Larry Wall http://www.cpan.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Installation 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 is up to you a Solaris way is to use /opt/ like /opt/nmis. I use /data/nmis myself.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ For Solaris: groupadd -g 4200 nmis useradd -u 4200 -g nmis -c "NMIS User" nmis Setting the location of Perl in the scripts So that NMIS runs properly you will need to edit all the perl scripts and change the top line which tells the script which shell to use currently this line would read: #!/usr/local/bin/perl This should work for 99% of people as this is the usuall location of Perl.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ 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.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ When run without debug, NMIS is silent, it will only report BAD things and log non fatals to the NMIS log -> nmis.log in the logs directory is the default. First check that the config is all right! /bin/nmis.pl type=config Then run an update! /bin/nmis.pl type=update Then run collect! Minimum! Runs collection for all nodes in the node list. /bin/nmis.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Log is a tool which allows viewing of the logs which NMIS and syslog generate. It color codes and allows searching, filtering of the log files. The config file is /data/files/logs.dat, A sample is included in the NMIS distribution. Automate the whole lot with CRON Add the following entries to run NMIS bits and pieces.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ FAQ Introduction This FAQ is built from the combined musings of the many good folks on the NMIS User http://groups.yahoo.com/group/nmis_users mailing list . When a question comes up more than once I try to put it in here. If your question is not answered here, then the mailing list is your next best option. The FAQ is maintained erratically and is completely arbitrary in nature.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Q. How do I add mibs to NMIS? A. You need to edit the loadmibs.pl script, put the names of the mibs into the script and generate the OID files. Not straight forward if you don't program in Perl but quite easy really. Something like: mibdump.pl mibdir=/usr/local/share/snmp/mibs mibs=router outfile=/data/nmis/mibs/cisco-router.oid You will need copies of MIBS, some available at http://www.sins.com.au/public/ Q.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Q. What does SNMP Simple do ? A. SNMP Simple is a set of Perl 5 modules that perform SNMP access requests. They written by Simon Leinen simon@switch.ch. Check his website for full information. The SNMP Simple package contains Perl 5 modules SNMP_Session.pm and BER.pm, which, when used together, provide rudimentary access to remote SNMP (v1/v2) agent.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Q. Why Don't ping and traceroute work? NMIS was written on Solaris so until version 2.2 is finalised there are some hard-coded file locations you might have to change in /bin/admin.pl change the file locations for ping, traceroute etc. to suit your machine (the command 'which ping' will tell you where it lives) You may need to change the syntax of ping - for eample the following works in Linux at about line 89 of /cgi-bin/admin.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ The following is a list of NMIS features. This is by no means comprehensive but provides and idea of what NMIS can do. General The entire network is summarised into a single metric, which indicates reachability, availability and health of all network devices being managed by NMIS. Summary page for entire network with reachability, availability, health, response time metrics.
NMIS - Network Management Information System Last updated 21 June 2001 http://www.sins.com.au/nmis/ Online Version NMIS Home Page Changes LOTS of tidy up in general. Stopped loading MIBS all the time. NMIS support multiple config files ALOT better, it was basically fine for nmis.pl but not the CGI stuff, should be fine now. Simplified the algorithm calculating group status. This is now done by weighting each status level and adding them together and then averaging.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Now using "auto directory finding option" so don't have to edit scripts as much on install, uses Perl FindBin. Many new config.dat options and configuration items exist and now called nmis.conf and in /conf Added a Generic event type to handle any new UP/Down events you might like, also created event.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Improved support for the Cisco Catalyst IOS switches, not really tested. NMIS Large Dash now has a config option. NMIS and nmiscgi.pl now uses embedded PNG graphics generated at runtime, this should improve polling scaling. This also assists in distributed management, etc. All automatic graphing has been turned off in nmis.pl by setting the $graph = "false". This just improved the poll cycle from real 0m10.33s, user 0m6.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Fixed up SNMPv2 Support, now getNodeInfo tests for SNMPv2 support and then if available caches as part of system attributes. Added more MIBs to the OID files, and enhanced the existing MIBS to include other common interesting things. Fixed it so that the nodeType, netType, and role from the nodes file overrides the getNodeInfo information. NMIS is considerable modularised.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Below is a sample configuration for Apache to implement IP address and user name security. Its pretty straight forward. To produce this configuration you can run NMIS like nmis.pl type=apache which will produce a sample config with the nmis.conf or whichever file it is.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ NMIS Location Setup ## For IP address based permissions Order deny,allow deny from all allow from 10.0.0.0/8 172.16.0.0/16 192.168.1.1 .sins.com.au ## For Username based authentication AuthType Basic AuthName "NMIS" AuthUserFile /usr/local/nmis/conf/users.dat Require valid-user
NMIS - Network Management Information System http://www.sins.com.au/nmis/ 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. A primary function of NMIS is to make information about your network available quickly and instantly. Some of this network is provided "raw" other information is provided in a related manner.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ when the interface is supposed to be up, raise an event. Otherwise store ifOperStatus, ifInOctets and ifOutOctets in an RRD, adding ifOperStatus to the total interface availability of the device.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Interfaces Interfaces which aren't in use should be shutdown (admin down) so that NMIS doesn't think it is supposed to manage them. A simple lookup is done on interface types to determine if NMIS should collect statistics on them. This is done during the createInterfaceFile subroutine.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Find Allows you to search the NMIS data for all interfaces with the keywords in IP address, description, interface name, subnet mask. This is a simple way to see exactly how many Gigabit interfaces you have and the IP addresses for each. This becomes quite a powerful tool by being able to identify which routers have which IP address and IP subnet. Current Events Shows a list of active events in the NMIS event state table.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Contacts You can add, edit and delete entries to the NMIS Contacts table. Allows information to be stored about contacts for the network. Links to sysContact. Event Policy You can add, edit and delete entries to the NMIS Event Policy table. This controls how events are processed by NMIS, what event level each node type and role type will generate and weather or not it will send alerts.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ view.pl This allow NMIS to view and edit the CSV files used to control NMIS. summary.pl This produces a VERY basic summary of the NMIS for group and node status, alows drill around, intended for WAP, PDA Web Browsers, dialup, etc. event.pl This allows integration for other systems to send events to NMIS over HTTP, by calling URL's with required information.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Collection Policy Create a CSV with interface types and node types and some flags for defining the collection policy for devices. ifType device_type role default any any ethernet switch any ethernet switch any atm any any summarystats I would actually like to rewrite the summary stats routine to return a "summarystats hash".
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Create RRD I had been thinking about making this config options and putting the formulas in the code. NMIS Command Line simple script to provide status of nodes and basic info like summary.pl but commandline oriented. Thresholds Put the threshold code seperate for just using in nmis.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Greetings, I have experienced odd behavior in graphs if a link/router goes down unexpectedly. I'm not sure exactly why, but when you view the Bits graph there will be a large spike (larger than the link is capable of providing). I don't believe it is an issue with NMIS itself, I believe the router is reporting incorrect figures... but I digress. If anyone would like it, I have changed a few CDEF's in nmiscgi.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ I had the same behavior, your fix seemed to make it work right. BTW I made some other hacks on the nmis I like to share: 1-Multithread collection and update - I believe it was on the TODO list. To use it just add the option "mthread=true" on the nmis.pl command line for the types update and collect. It will make nmis.pl to fork one instance for each node.
NMIS - Network Management Information System --- view.pl 2001/06/23 01:35:28 +++ view.pl 2001/10/11 15:21:22 @@ -75,6 +75,31 @@ http://www.sins.com.au/nmis/ 1.1 1.2 exit; +sub alphanumerically { + local($&, $`, $', $1, $2, $3, $4); + # Sort numbers numerically + return $a cmp $b if $a !~ /\D/ && $b !~ /\D/; + # Sort IP addresses numerically within each dotted quad + if ($a =~ /^(\d+)\.(\d+)\.(\d+)\.(\d+)$/) { + my($a1, $a2, $a3, $a4) = ($1, $2, $3, $4); + if ($b =~ /^(\d+)\.(\d+)\.(\d+)\.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ DONE SENDMAIL Perl based sendmail for better mail control. DONE Enhanced SNMPv2c Add support for the HC MIBS, in fact test and see if HC mibs are supported in all SNMPv2c devices. mibdump.pl and generating the new OID files, see the FAQ, change SNMP_MIB::loadmib($argue{mibdir}, "IF-MIB-V1SMI.my"); for SNMP_MIB::loadmib($argue{mibdir}, "IF-MIB.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ DONE Hardcoded script name Yep, that should be $ENV{SCRIPT_NAME} instead of /cgi-nmis/etc... Keith , ./ 0 1&2+ 3 ! #" $&%' ()" +*- :<;>= ? >@ A M> N >O .P RQ #" 4 )5 06 0 175 ( 1 .98 B( 0 1!C) ED @ @Y Z[; \)? , .] RQ # ^ 8_( 1!)`a O b)06 1 U +1 C #.c d .
NMIS - Network Management Information System http://www.sins.com.au/nmis/ DONE With Model support and a new model called Catalyst5000Sup3 Catalyst Support If you are using 6000 series switches and you click on health statistics then try to drill into the cpu stats you will get a message: Graph type not supported yet. Line 1314 of nmiscgi.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ sub runPing{ my $node = shift; my $retries = 3; my $sleep = 15; my $i; if ($debug) { print returnTime." Starting Pinging with $retries retries.\n"; } $pingresult = 0; # do a ping $retries times. for ($i=1;$i<=$retries;++$i) { $pingresult = ping(node => $node, timeout => 5, debug => $debug ); if ( $pingresult != 100 ) { # Sleep a bit and try a second time.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Keith - I am thinking that in sub thresholdResponse, NMIS should keep the level at 'normal' or 'level=1' for response times, rather than increment for the core and distribution node types ?? Code is.. if ( $role eq "core" ) { $level + 2; } elsif ( $role eq "distribution" ) { $level + 1; } I suggest maybe it should be this, same as all the other thresholds.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ I believe I've found a couple of instances of hard-coded url paths in cgi-bin/nmiscgi.pl and cgi-bin/logs.pl. Diff for nmiscgi.pl is: 262c262 < $graphLink="
"; --> $graphLink="
'}\/nmiscgi.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ DONE with model.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ General Public License applies to most of the Free Software Foundation's software and to any other program whose authors commit to using it. (Some other Free Software Foundation software is covered by the GNU Library General Public License instead.) You can apply it to your programs, too. When we speak of free software, we are referring to freedom, not price.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ 2. You may modify your copy or copies of the Program or any portion of it, thus forming a work based on the Program, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions: a) You must cause the modified files to carry prominent notices stating that you changed the files and the date of any change.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ If distribution of executable or object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place counts as distribution of the source code, even though third parties are not compelled to copy the source along with the object code. f 4. You may not copy, modify, sublicense, or distribute the Program except as expressly provided under this License.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ address new problems or concerns. Each version is given a distinguishing version number. If the Program specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation.
NMIS - Network Management Information System http://www.sins.com.au/nmis/ Gnomovision version 69, Copyright (C) 19yy name of author Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. This is free software, and you are welcome to redistribute it under certain conditions; type `show c' for details. The hypothetical commands `show w' and `show c' should show the appropriate parts of the General Public License.