NMIS 1.00 is available NOW!
Updated whole bunches of nmiscgi.pl, updated the style and
revamped it a little bit, looks a bit better now.
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 <nmis base>/conf
Simple SNMP error checking in updateUptime which creates an SNMP
Down event and checks for SNMP Down if SNMP is up. Prevents
problems with people changing the SNMP community string or disabling
SNMP. Assumes that if SNMP is up for UpTime ie working for
system SNMP variables then it should be working for everything.
NMIS now has Web based configuration using view.pl. View.pl
allows editing of the CSV configuration files. Will hopefully
add abilitiy to edit the nmis.conf file too.
Health metric now includes interface component, all interface
input and output utilisation are each subtracted from 100, added
together and then averaged, this number is the interface weight, this
will contribute 20% of the health metric and should be quite
responsive to interface utilisation. I also think this will
assist in pinpointing link utilisation problems through the use of the
health metric.
Health metrics have been re-weighted to better suit pinpointing
network problems with the health metric. Weighted as follows:
Updated logs.pl with a better parsing algorithm, handles the
weird messages in syslog which routers and switches send.
Added map.pl which enables NMIS to display group status colored
icons for each group on a HTML map using CSS. Icons will change
color with group status, also display summary network metrics and
allows drill in to NMIS for each group. (not auto-discovery or drag
and drop). Adds a bunch of config.dat elements and requires
setting up map.csv with icon placement co-ordinates.
- Changed the way events are handled by implementing eventPolicy
subsystem, all event levels and notifications are now controled
through the events.csv file.
- Added real escalation subsystem with escalationPolicy and
runEscalate, modularised stuff a bit more to support this.
- Optimised the runThreshold subroutine a little bit.
- Added in-addr.arpa and DNS LOC entries to the DNS function in
nmiscgi.pl.
- Error checking added to csv.pm to validate data in each record.
- logs.pl fixed up to do handle unknown records a little better parse.
- nmiscgi.pl now displays summary stats for each group and a raising
falling indicator for metric (could do with some graphics I am sure
but more to do).
- 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.72s,
sys 0m0.43s to real 0m5.61s, user 0m2.31s, sys 0m0.32s.
- Automatically handling of interfaces which have been shutdown
between update cycles, this will recreate the interface files on
demand.
- Added query.pl to enable NMIS to be used in a distributed manner,
returns easily passed text data over HTTP. Eg query.pl?query=list
or query.pl?query=status&group=Sydney.
- Added summary.pl to enable NMIS to be accessed by ANY HTML device
like WAP! Just provides basic lists and summary information.
- query.pl and summary.pl show how easy it is to develop mini NMS apps
which use the NMIS "api" to easily access all the collected
information.
Added email field to contacts table.
Added support for default locations and contacts for devices
without sysLocation and sysContact being set.
notify subroutine now uses the email field from the contacts
table to issue notifications.
Added CGI graphing to nmiscgi.pl which does the NMIS graphing on the fly,
cool, now you can embed NMIS graphs where ever you want! Have
started embedding this into all CGI scripts which display
graphs. All NMIS graphs will be drawn on the fly.
Changed the loadConfiguration subroutine to handle variables in
the configuration file. This will make installation a little
easier for people.
Added Interface thresholding for input utilisation, output
utilisation and interface availability.
Updated the nmiscgi.pl with a summarised dash and left the
nmisMenuLarge as another option. Also created a new summary for
each group, allows a little more the concept of drill in!
Enhanced NMIS documentation.
Brian gave NMIS a logo.
Tested with RRDTool 1.0.33.
Added IP addresses to interface info and fixed up the
"find" function so that you can search the interfaces for an
IP address (this could be handy for big networks).
New PING routine using Perl Ping with ms timeout too! Code
provided by Richard Kuehnle (this
requires root privilages for the NMIS programs)
Added support for a enterprises file for identifying vendors.
Worked on createInterfaceFile and added ability to capture IP
addresses from the ipAddrTable MIB.
Added a view table function which allows the easy integration of
other data sources.
Added Locations and Contacts Tables which use the view table
script.
Did a fairbit of Cascading Style Sheet Integration into
nmiscgi.pl. This means if you want to change the way NMIS looks
you can just edit the NMIS Style Sheet nmis.css and wallah.
Fixed up that a node with collect = false would not store
response time stats.
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. This is to make the
system a little easier to improve with new changes only being added in
one file not effecting other files. This includes new packages:
Added an IP subnetting program to assist with those nasty
subnetting calculations.
Memory stats now contribute to health statistics.
Added a notification method for paging. There is now a
sendPagerMessage to integrate into an existing paging system.
SNMP_Simple now included in the NMIS distribution library
directories (much easier).
This includes several minor
fixes to the logic and some more considerable changes like using
SNMPv2 for collection on Routers and Switches. New options in
the config file.
NMIS now produces a single metric which summarises the network.
The first version of the documentation
has been added.
FAQ's added.
- The PING routine seems to be the biggest problem and I am working on
a better cross platform fix but for now Linux users will have to apply
there own patch as there seems to be some vast differences to PING
across Solaris and Linux.
- NMIS has been tested and updated to work with RRDTool 1.0.27, I
found some unexplained core dumps with 1.0.28 so have decided to go
back one and investigate those further.
- Thanks to the Contributors for
assisting in the debugging and development of NMIS.