NMIS - Change Log
Last updated 19 October 2004

Online Version

NMIS Home Page

Enhancements for NMIS 4.0:
  • Added in generic ip MIBII support. Created new mib2.rrd for ip level stats. Moved ip level stats from health rrd to mib2 rrd. Health stats now only have performance variables over and above the standard MIBII set.
  • Added in fragmentation stats and graphs using collected var from mIB2 ip stats
  • Event viewer module rewitten with java script to summarise events by node. Thanks to Andrew White
  • Added Geostyle display to event viewer and location information to system file. Three new config vars in /nmis.conf. If dnsLoc is set on, will attempt to find location information from DNS LOC records and save in systemTable. If sysLoc is set, will try and get location information from device sysLocation, if it matches the regex in nmis.conf. See that file for details. If either of these are on, Event viewer will display a world map and plot the node that has any active events.
  • Altered booked outage logic so that logs and events during a booked outage are recorded, but not escalated to an alarm stage. Keep the event start time for events during a booked outage to current time, so that if event continues unack past the expiry of the booked outage, a new escalation timeout will be started.
  • Added global variables to nmis.conf for rrd file step and row sizing. Useful to change rrd size at install time or later to extend rrd filesize to acommodate 95% percentile calculations over a long time period for capacity planning purposes
  • Added a global-collect var to nmis.conf. Used to disable polling for a time whilst NMIS server or local LAN maintenance is under way. Edit from web interface or cmd line to disable poll (global_collect=false)
  • Event map display now has a short menu to filter mapped events by severity, group and active/inactive status. Set nodes by event color, most severe event coloured alarm will display on top. Multiple group select
  • Added TimeZone offset to dutytime calculations. Offset is to server localtime, e.g. if server is at UTC, and email recipient works in NZ, set DutyTime to 08:17:MonTueWedThuFri for NZT hours, and set TimeZone for +12.
  • Added additional escalation and derived contact debug
  • Fixed the issue where a node is removed physically before it is deleted from NMIS and the Event hangs around in event.dat
  • Sent message from CreateDir to log, not command line where it could bounce via cron
  • Cat5 - add more ifDescr to ifType matches and added some more ENUM type - thanks to Jim Norris
  • Additional Cat5 Sup3 support added - thanks to Trent O'Callaghan
  • Updated PIX failover logging to notify with new event type "Node Failover", and can now notify in event policy. Note that PIX failover are not stateful and are not sent to the current events table.
  • Major escalation update. See documentation for details. Added default keywords, netsends, syscontact, default rules, regex expression matching on Event_Node and Event_Details corrected, new table entry UpNotify - if set to true will notify all those contacts who were notified of the down event, to be notified of the up event. Moved escalation Level0 to Level10 rollover times to nmis.conf for user adjustment if required.
  • Fixed bug where a snmp failure in the middle of an interface table poll would cause a premature exit, and not poll the balance of the table
  • Uploaded a contrib directory rancid/rancid.pl to automatically update a rancid config router.db file with nodes based on NMIS groups - see www.shrubbery.net
  • Added defaults to all web editable fields when a new entry is added - two new entries in nmis.conf set default group list and community string.
  • Rewrite ping.pm for optional cmdline ping for RedHat8 use or other UNIX style cmdline pings
  • Links now displayed by ifType
  • Corrected serialnum/chassid poll to be based on OS type - either CatOS or IOS
  • Modified config parser to allow multiple '=' and trailing comment in config file, changed node details plugin url to suit. Allows nicely formatted urls to be parsed in config file
  • Added detail.pm in /lib - displays formatted node details report from plugin bar menu - thanks to Trent O'Callaghan
  • Added no collect for matching on interface names in nmis.conf - no_collect_ifAlias_gen
  • Fixd bug where multiple email contacts would not display in event log, modified logEvent to replace any commas in arguments with space
  • Updated logs.pl for speed, config switch for reverse dns lookups, used reverse cat (tac) for files so search can be stopped after required number of lines found. Added group filter on display. new drop down menus, all fields remember submit value
  • Fixed DutyTime formatting example in contacts.csv
  • Moved loadEventState call to displaySystemHeader sub so node status reported for all system displays
  • Fixed logic bug for change in ifAdmin status now reports to event.log and clear any events if up
  • added Catalyst5000 handling and nan/NAN update. Patched cpu summary stats return for ios/cat models
  • Moved reports to its own file reports.pl and added Top10 report. Updated run-reports-sh for new report items. Removes discrepancy between web based dynamic reports and stored reports - now have one file - on report format
  • Added support for RPS (Redundant Power Supply) monitoring. Turn on capability with nmis.conf regx for nodes with RPS installed. Summary display altered to display RPS status if enabled. Note - system status disply ordering altered - contact and location fields moved up, eaiser to format around optional around RPS display
  • Delete and log all events for node on node edit or delete from web interface
  • Enable group=XXX paramater on nmis.pl command line to only collect and update nodes in group XXX
  • Tightened filelocking on event.dat for multithreaded installs
  • Add Port Statistics charts to NMIS summary menu bar - Thanks Trent ! Graphtype selectable from nmis.conf
  • Added new flash based map - displays nodes and links on a world map using device sysLocation and links in links.csv
  • Various debug improvements around reading and writing rrd. Added configurable default graph type to all graph href
  • PVC interface stats added. New rrd for collecting becn/fecn, new pvc.dat file for mapping pvc to interface. Link on node summmary menu for pvc display, same format as port display
  • Summary node display cell 'number of interfaces' now has link to display all interfaces
  • Added interface/node directory create to collect process if dir does not exist and 1 sec sleep to create rrd to avoid subsequent rrd <1 sec update errors for new rrd creates
  • Links_Key in nmis.conf changed to 'subnet'. Improve auto-generated links.csv logic ( ./nmis.pl type=links). If no link description, name link with subnet. Read in existing links.csv, and auto update by subnet from interface table. Manually added links from web UI, if unique subnet, will stick. Do not update dependency column - allows manually entered dependencies to stick.
  • Change abits, bits, and autil graphs to double-sided format if nmis config switch set to '-1'
  • Node dependancy feature - can configure multiple dependent nodes via web UI. If a node is down ( failed ping) then the list of depend nodes is checked - if any of these are down, then no alarm or events is raised for this node. Default setting is 'N/A'
  • Added new bin/csv-append.pl tool to add or modify fields in conf/xxx.csv files. Intended for nmis3 to 4 upgraders to faciliate addition of new node depend field in nodes.csv.
  • Plugin_x_status=new in nmis.conf will open new window
  • Enabled multiselect for outages - can now select groups of nodes in outage menu
  • Dialer interface status 'dormant' treated as normal state for event purposes.
  • Patched so that interfaces with events with interface description details will pick up correct colour in interface display
  • Updated standard.oid for HC counter mibs. Added IF-MIB to mibdump.pl. Set regex to systemName in nmis-sample.conf for HC counter grab.
  • snmpget 'ifHighSpeed' if 'ifSpeed' = 4,294,967,295 - refer RFC2863 HC interfaces
  • Extended response time report to all devices
  • Set POSIX child exit signal handler for RH9 thread model compatibility. Set configuration flag for POSIX signal handling. Older systems may autoreap zombies better with 'ignore'
  • Added MIB for internal modem status with thresholds - thanks to Andrew Sargent
  • Allow UC nodenames in nodes.csv
  • Add a configuration regex for defining what devices to extend ifDescr with ifIndex to ensure rrd name is unique. Notable examples are VPN3000 concentrators, Shiva VPN Gateway. Use the sysObjectName, displayed as SystemName in node summary page
  • Added contrib/lg/ Looking Glass scripts with NMIS modifications for generalised show commands to contrib directory. Remove BGP show commands. Uncomment in script to add back
  • Added contrib/rancid/ script to populate RANCID router.db file for router config upload based on NMIS group list
  • Added some additional error checking for no interface file - could happen if new node and snmp not configured.
  • Updated nmis-mibs.oid for additional cisco products and added altiga mibs. Set int-extend to 'altiga'
  • RPS logic update, include altiga RPS, update nmis_mibs.oid for altiga RPS
  • Updated pager code - thanks to Yves T.
  • Added Capacity Planning tool - see list and install for details
  • Added node Availability ( Reachability) reports
  • Updated iftypes.csv
  • Added network tools mtr and lft - set flag to true in nmis.conf if installed on your system
  • Updated for new ifType definition of frameRelay
  • Updated runPVC code for revision compatibility with snmp-session-0.98
  • Updated reports.pl for swith port counts - thanks to Trent.
  • On update, grabbed Cisco private int descr (ldescr), and used if standard RFC empty.
  • Map.pl updated and now works for Mozilla - thanks to John Gruber
  • Updated view.pl for deleting last row in a table, and retaining field headers so that a new row can be added later. Ordered headers so that edit/add screens are presented key fields first, same as display screens. This change allows a xxx.csv file to be stored with field headers only as a placeholder, for the user to configure later - no sample entries required.
  • Removed links-sample.csv - as this file is typically auto-populated from nmis.pl. Added links.csv with headers as a placeholder
  • Added support for manual update of some device parameters, in case the service provider does not configure them, or the client does not have access, or the device does not support them ( VPN3002 etc)
    See sysnode.csv for node sysName, sysContact, sysLocation
    See sysinterface.csv for node:ifindex ifSpeed, Description
    Table links SysNode, SysInt added to nmiscgi.pl. Support added into nmis.pl on run type=update to update fields in var/xxxnode.dat, and var/xxxnode-interface.dat, if entry found in sysnode.csv or sysinterface.csv, with debug comments to say that device parameters overwritten with manually configured entry
  • Moved the mib load config var 'full_mib' to a list of mibs to load, eg 'nmis_mibs.oid,a3com.oid,dell.oid'. Removed config vars for mibs not loaded - like standard, switch and router, as those oid's are included in full_mib.oid. Benefit is adding additional oid files can be done in nmis.conf, without source code changes.
  • Updated conf/enterprises.csv to the latest vendor list from IANA
  • Set mgmt_lan address in nmis.conf to be comma seperated list of CIDR X.X.X.X/XX notation networks or workstation names. Fixed eval test for Net::DNS
  • Added scrollbars and resizable attribute support to graph popup windows - was there, but broken
  • Basic server monitoring added for cpu, users, memory, disks based on hrResources and some W2K oid's
  • Moved the Net::DNS test to shared library
  • Fixed some display issues around nodes set active=false in nodes.csv
  • Added VLAN info for Catalyst IOS switches. Added link 'Click here to update connected IP list' on summary display for Catalyst type switches both IOS and CAT5K, to update display with connected IP information, based on arp table and dynamic CAM table. Summary view updated so that both CAT5K and CatalystIOS show VLAN info.
  • Moved ping to commandline ping with auto multiplatform command select. See ping.pm for details, try debug=3 for verbose debugging
  • Updated bits graphs moving average calculation. Moving avg calcs should be on average in/out, not max values, as else granularity is lost for bigger slices.
  • Modified the web UI nmiscgi script for displaying QoS from the script in the contrib. The web UI is now able to graph QoS statistics. Thanks to Stiphane Monnier
  • CatalystIOS - Collect trunk type and native vlan, and use this for the vlan value if the port is a trunk
  • Split packets graphs into stats and errors. Wrote ifinoctets and ifoutoctets to pkts rrd - was in rrd create, but was not updated. Thanks to Stephane Monnier
  • Fixed bug in depandancy feature - nodes that depended on another were not reported as down - should have been.
  • New ping module for all host types
  • Fixed Outage Reports
  • Fixed port counts report to include all devices, exclude null, atm, lane services (lec)
  • Passed ping response time back to nmis.pl from ping.pm call in first call, discarded second ping call that was for response time only. Effect is to halve network poll times. Ping code is now O/S independant and uses O/S commandline ping in all cases. Net::Ping not used.
  • Add nodetype based logs pointers to logs.csv. Update nmiscgi to pick logfile based on device type. Allows discrete log files by device type
  • Added switch to hc counter check for interface speed greater than 10000000
  • only log snmp errors in event file if debug - event system will raise alarm if continual"
  • Removed bandwidth clip on frame interfaces
  • added multiple cpu load check on well-behaved SNMP hrProcessorTable implementations
  • delete events if no node record found - cleans events table for deleted nodes
  • Added week and month options to outage report. Split report into node and interface options
  • Clean up stale event deletion routines for changed or deleted nodes, tidy logic
  • Removed '%' from log search link
  • Added threshold events for server disk, cpu, mem
  • Cleaned type=apache sample apache configuration file
  • QoS code integrated
  • Added timeout to ping.pm for Linux hosts