Product Compatibility

Refer to product compatibility to determine supported Operating Systems and Database Versions.

Download NMIS here -

NMIS 8.8.0

RELEASED  10 Jan 2022

Highlights for the 8.8.0 release

Model changes

  • Silence the warnings from the Host_Resource Plugin

  • Fixing default handling of custom model for ifNumber changes

  • Host resources check if empty values

  • Added support for Calix model

  • Added support for limit ifspeed in Adtran plugin 

  • Add F5 LTM table collection and state - OFF by default with model policy as large.
  • Mitel3000 Modelling added.
  • Updates Huawei QoS to include 'Interface Name' in QoS graph
  • Fine tunes plugin install/plugins/ Updates Teldat QoS and BRS to include 'Interface Name' in QoS graph
  • Added the missing Model-ServiceOnly.nmis file
  • Updated models for Huawei MA5600 and Ruckus Controllers and Devices
  • Updates to Ruckus, Windows 2003, 2008, 2012 and ZyXEL
  • Adds models-install/Model-Teldati60-uses-common.nmis
  • Updates models-install/Model.nmis
  • Only displays active interfaces for Juniper devices for Juniper_CoS: Updates install/plugins/
  • Modelling updates for fixing Huawei and Alcatel
  • Updated Huawei GPON model
  • Updating F5 BigIP Models to be NMIS8 and NMIS9 Compatible

New Features

  • Updated jQuery version to 3.6.0 and jQuery UI 1.13


  • Attempts to install CGI::Session from OS Package Manager first
  • Fixing default handling of custom model for ifNumber changes
  • Some hardening of NMIS against corrupting the node.json files
  • Fixed issue when variable not defined in model-discovery

NMIS 8.7.2-1G

RELEASED  14 Apr 2021.

Highlights for the 8.7.2G release

  • Bugfix affecting the installation on CentOS 6 (perl 6.10). 

NMIS 8.7.2G

RELEASED  30 March 2021.

Highlights for the 8.7.2G release

  • This version provides new authentication configurations:

    • Limit the number of sessions per user
    • Lock users that have not logged in in a specified period of time

NMIS 8.7.1G

This release of NMIS was published on 29 June 2020.

Highlights for the 8.7.1G release

  • Fix a polling bug that makes a node be found as candidate for WMI polling. 
  • Model fixes and updates.

We highly recommend to upgrade to this version from NMIS 8.7.0G.

NMIS 8.7.0G

This release of NMIS was published on 22 May 2020.

Highlights for the 8.7.0G release

8.7.0G is a major release with lots of new features, improvements and bug fixes.

Installer fixes

  • Get PAM module from repositories
  • Now installer uses cpanm for cpan installs as it is more flexible and does not need initial configuration as cpan does

Model Enhancements

  • support for new models:
    • Viptella models
    • Ericsson Router
    • Vyatta VYOS devices
    • Cisco BGP MIB 
    • Huawei HQOS graphs
    • Stats metrics to the Cisco routing model
    • Bluecoat Model 
    • f5 model
  • Model Improvements: 
    • Cisco Meraki and Meraki Cloud 
    • Improved models for Juniper IVE devices
    • Improved Fortinet FG model
    • Improved Microtik model
    • Improved Cisco Nexus model
    • Display temperature of the sensors in AristaSwitch model
  • Fixes for the Cisco Temperature model. Updates to the Cisco models to include temperature values
  • Work around net-snmp snmpd which reports almost anything as hrfixeddisk
  • Removing the degrees symbol from Units in Alerts
  • Added 'option' => 'small' to generate small graph when small graph requested in maxbits
  • Some graphs updated to show Max values, not only averages
  • Enhancing the Host Resource Model with thresholding
  • Added Opengear to Model.nmis to use Default-HC
  • Added lldpLocal to Model-Policy
  • Adding the missing ADSL graph to the NMIS source and fix ADSL model files
  • Added new RouteNumber section so variable accessible through stats
  • Common-database.nmis updated to include 'TeldatQoSStat' and 'TeldatBTSStat' entries

Plugin Improvements

  • Cisco Meraki Cloud
  • Viptella models
  • Added the OSS banner to the plugin code
  • Improvement in NMIS having a plugin include reach data
  • Enhancements to NMIS for health metrics for plugins and implementing ifNodeCollectable

Collect Improvements

  • Only run services polling on nodes which have service polling defined
  • Improvement to ifAdminStatus change detection to handle ifIndex changes. New event (Interface IfAdminStatus Changed)
  • Adding 300 seconds to node reset detection for odd Linux SNMP sysUpTime
  • Added collect_wmi/snmp properties to allow disabling either protocol (snmp_enabled, wmi_enabled). Also, added the migration script migrate_collectpatch to support this properties, added support for SNMPv3. Added an script test in admin/upgrade_node_collect
  • Optimisation to stop running services if no service polling required on a node
  • Improved debugging for a single node, runEscalate is skipped for a single node collect
  • Add a new configuration option sort_due_nodes, to order nodes based on last_time_poll
  • Improving the polling so that nodes do not get polled too frequently
  • Added escalate_poll_cycle to control when the escalate cycle is run

Admin Tools

  • Added new utility script admin/import_zenoss_backup to import devices from Zenoss device dump file (Example in admin/samples/zenbatchdump_sample.txt )
  • model_discovery to automatically determine which existing modelling exists
  • alcatel_interface_discovery admin tool has been deprecated

Other Fixes and Improvements

  • Updated printCrontab to split the running of collect and services to separate cycles. Also include additional info for run=escalate
  • fix in to show type=metrics, group=network graphs
  • Added support to preserve -- when lowercase names are wanted
  • Improve the debug output. Remove passwords from logs
  • Added support for Common-event.nmis event model policy handling for custom node roles
  • Added Node Count per poll cycle count
  • Added handling for new types of loopback interfaces called lo0
  • The minimum length of time that a graph can show has been reduced from 30 min to 10 min, this allows to see shorter periods with better details
  • Updated polling summary to include demoted nodes and pingonly nodes,  show stats for demoted and non snmp polled nodes
  • CVAR support for threshold controls
  • Add interface description in custom test alerts
  • Fix issue with notifications for elements with /
  • Update the installed modules detection
  • Added support for Crowd Auth
  • Add support for env_temp with the new configuration item env_temp_legacy_support

NMIS8 installer may stop at CPAN attempt to install WWW::Mechanize on Redhat6 or Centos6

Should the install of NMIS8 stop at error

  • t/local/back.t ........................... 1/47 Error GETing http://[::1]:44662/: Can't connect to ::1:44662 (Bad hostname '::1') at t/local/back.t line 53.

please install WWW::Mechanize using the following command then re-attempt install of NMIS8:

cpan notest install WWW::Mechanize
# or if the above doesn't work, type cpan hit ENTER KEY and then from with cpan process then exit the cpan process:
notest install WWW::Mechanize

NMIS 8.6.8G

This maintenance release of NMIS was published on 10 Jul 2019.

Highlights for the 8.6.8G release

  • Various modelling improvements
    updates for Arista and Arris devices,  new models for Dell switches, updated and extended modelling of the Host Resources MIB (with plugin),
    adjustments for Cisco Catalyst IOSXE devices, Nexus CBQoS modelling, substantially improved modelling for Net-SNMP devices.
  • The node selection, scheduling of operations and process management have been reworked extensively, and NMIS spreads the load now better and more evenly.
    • the new config options nmis_max_nodes_per_collect_cycle ,   nmis_max_nodes_per_services_cycle  and nmis_max_nodes_per_update_cycle  were added to optionally limit how many nodes should be considered at most for an operation cycle.
    • the new commandline option abort_after=N  instructs NMIS to abort unstarted collect operations for candidate nodes after N seconds (default: 60).
      Any candidate nodes that remain unhandled that long after start up are skipped (and the fact is logged), so that the next NMIS invocation can safely pick candidate nodes without overlap.
  • Misbehaving Service test programs are now handled more consistently.
    All exit codes outside of the required range of 0-100 are logged and interpreted as the service being down.
  • The webtest example Service test program now supports sending custom headers using -H.
  • some minor GUI improvements related to node editing
  • JSON event logging was extended
  • NMIS' data export now includes both average and max data from rrd.
  • The NMIS selftest is now less likely to produce false positives and runs faster.
  • The default data retention periods for historic events has been reduced to 7 days.
  • Various installer improvements, improved robustness and reduced number of repeat questions
  • A new stateless event named 'Interface ifAdminStatus Changed'  is raised when an interface's administrative status changes
  • The installer now handles Debian 10 (Buster), and NMIS works correctly on Debian 8 to 10.
  • Various minor adjustments and fixes for the NMIS graphs for better display with recent rrdtool versions
  • Robustness improvements for WMI, for pinging with restrictive firewalls and for backup polling
  • NMIS now supports Authentication using the host's PAM infrastructure.
  • Escalation emails for failing or restored services now include the service's Description if present.
  • Various other bug fixes and improvements

NMIS 8.6.7G

This is a maintenance release of NMIS, which was published on 17 Aug 2018.

Highlights for the 8.6.7G release

  • The node dashboard widgets and graph drill-ins now load substantially faster,
    and graph files are now cached for up to 60 seconds (configurable via graph_file_maxage config item).
  • SNMP Uptime counter wrapping (at 497 days) is now handled more robustly.
  • The logic for group display/exclusion in the GUI widgets was repaired,
    and now only nodes belonging to the configured groups (in group_list) are displayed.
    (Like before, all active nodes are handled by the polling and event engine, regardless of group membership.)
  • The handling of node resets and long-term unpollable nodes is now more robust and reliable.
  • The Polling Failover feature was extended to provide more fine-grained events and node states.
  • NMIS now provides a configurable rule for acceptable node names (using the config item node_name_rule) which is consistely applied everywhere;
    the shipped default rule was also relaxed and now allows letters, numbers, space, underscore, hyphen and dot.
  • NMIS now supports WMI polling in windows domains more robustly and username and domain can be provided in multiple formats.
  • Various modelling improvements, e.g. the nocollect directive is now supported in systemHealth model sections.
  • New and improved devices support for Nexus 7k, Adtran, Cisco, Arista, Mikrotik, Netvanta, PulseSecure, Juniper.
  • admin/ now supports bulk export and import..
  • Various robustness improvements, e.g. in, more fine-grained logging, more flexible and precise polling candidate timing decisions.

NMIS 8.6.7G Scaling Tip

If you are installing NMIS 8.6.7G and you have a busy server, then it is important that you modify the cron entry for NMIS and change it.

The setting is found in /etc/cron.d/nmis and the default is this:

* * * * * root /usr/local/nmis8/bin/ type=collect mthread=true ; /usr/local/nmis8/bin/ type=services mthread=true

This should be changed to:

*/1 * * * * root /usr/local/nmis8/bin/ type=collect mthread=true
*/2 * * * * root /usr/local/nmis8/bin/ type=services mthread=true

It is important to note that the NMIS polling engine had an overhaul in NMIS 8.6.6 and NMIS 8.6.7 to improve how parallel threads were handled and that polling was kept up to date.

So when NMIS starts a poll every 1 minute, not all nodes will be polled, it will poll as many as it can in that time and then leave the others for the next poll cycle, this has the result of spreading the polling (and load on the server) out over 5 minutes. If you are not getting all nodes polled in 5 minutes, you will need more threads (and enough memory).

If you are polling many nodes every 1 minute, then you will need to size the server accordingly.

NMIS 8.6.6G

This maintenance release of NMIS was published on 1 Jun 2018.

Highlights for the 8.6.6G release

  • New feature for multi-homed hosts: Polling Failover.
    NMIS can now ping and (SNMP-)collect data from a node using either its (primary) host or the new host_backup address.
  • The internal model cache now reacts to changes to configuration and model files automatically and immediately.
    In older versions model-related updates (e.g. threshold values) were only activated on the next type=update operation.
  • Improved resiliency for Nodes.nmis
    This version of NMIS automatically removes invalid data from Nodes.nmis (e.g. caused by a faulty manual edit of the file).
    If such a problem is detected, a message with the reason of the removal is logged and written to STDERR, and the problematic record is removed completely.
  • The CSV export functionality was reworked for improved robustness and convenience.
    • The  CSV file names now include the full graph heading and index/item/interface, besides the node name (as before).
    • For summarisation periods other than 'best' NMIS can now optionally add "min" and "max" columns for each data set for the relevant period.
    • The logic for summarisation period start and end now aligns the periods better with the data from the RRD files.

NMIS 8.6.5G

This is a maintenance release of NMIS and was published on 23 May 2018.

Highlights for the 8.6.5G release

  • New summarisation features and improvements for CSV exporting of graph data
    CSV Exporting was made more robust, reports errors better and now produces safe comma-separated output (was tab-separated before).
    NMIS can now optionally export CSV data in summarised form (before it always returned the highest available precision data from the RRD file):
    The 'Adv. Export' page lets you choose from a number of typical summarisation periods (see config option export_summarisation_periods), or pick a custom period.
    The exported data will contain averaged values for the requested summarisation periods.
  • Improved robustness for service monitoring
    Misconfigured services now show up as 'down' with an explanatory text (previously such were skipped silently). Tempfiles are not left behind anymore.
  • Improved modelling for Nexus devices
  • The example SNMPD configuration shipped with NMIS was adjusted for better security.
  • NMIS-to-Opmantek Single-Sign-On robustness improvements
    A number of problematic corner-cases were resolved, but please note that the necessary changes are unfortunately not backwards-compatible:
    Using cookie flavour 'omk' (and appropriate secret) in NMIS 8.6.5G will only work with Opmantek application releases newer than 22.5.2018. Until at least one sufficiently new release is installed, OMK-NMIS cookie sharing will not happen and separate logins will be required.

NMIS 8.6.4G

This is a maintenance release of NMIS which primarily fixes a few regressions. This release was published on 23 Mar 2018.

Highlights for the 8.6.4G release

  • Users with numeric privilege level 2 and above (ie. from operator- to guest-level) were not able to login in 8.6.3G. This is now fixed.
  • The newest version of the NMIS support tool is included, which collects more relevant information when investigating particular nodes.
  • The Node Configuration GUI widget no longer auto-refreshes under any circumstances.
  • For non-collectable but pingable nodes NMIS now defaults to model "Generic" which means a minimum of graphs can be displayed for such a node.
  • For nodes that have been non-collectable for a long time NMIS now offers to attempt collect operations only once every 24 hours;
    the installer asks whether this configuration option demote_faulty_nodes should be activated or not.
  • Past non-recurring Scheduled Outages are now automatically removed.
  • The installer now defaults to installing all typical (but technically optional) perl modules that NMIS can use for authentication and authorization.
    Most specifically this includes Net::LDAP.
  • For a number of computationally expensive operations (e.g. thresholds, metrics, escalate) NMIS now ensures that no more than one instance is running at any time.
  • Various robustness improvements and minor bug fixes.

NMIS 8.6.3G

This is a maintenance release of NMIS, which does nevertheless introduce a number of new features. This release was published on 25 Jan 2018.

Highlights for the 8.6.3G release

  • NMIS now supports Single Sign On with other Opmantek Applications, both for applications on a single system as well as across a whole organisation.
    The SSO section of the User Management page describes the relevant configuration options and adjustments.
  • Various robustness and scalability improvements for fpingd and summary operations.
    A dead or faulty fpingd no longer causes internal pinging for all nodes, only for the ones where no or only stale fpingd data is available; fpingd is now also restarted in such cases.
    For type=summary operations NMIS now ensures that at most one such operation is running at any time.
  • Robustness improvements in dealing with nodes with long-standing problems
    Nodes that have never been polled successfully are now automatically demoted to a reduced polling frequency:
    polling is attempted only once per day, and a log message about this demotion is logged (once per hour).
    Once such a node becomes pollable, polling resumes at normal frequencies.
  • Polling for multiple selected groups and nodes is now possible.
    You may pass type=collect any number of group and node arguments, all of which will be handled inclusively;
    For example, type=collect group=groupA group=Bgroup node=nodeC node=nodeD will try to poll all members of the two given groups and the two given nodes (subject to polling frequency policies, of course).
  • Usability improvements for the input data validation system, which now support the validation criteria 'int-or-empty' and 'float-or-empty' which accept empty inputs.
    Weird node names (ie. containing spaces or various special characters)  are now also handled more consistenly and robustly.
  • Various installer improvements and updates
    If SE Linux is active, the installer now requires an explicit confirmation input to continue.
    The availability of certain packages on Debian 8, 9 and Ubuntu 16.04 is now handled more consistenly.
    The optional pre-upgrade backup now includes more relevant files, ie. cron, log rotation and apache configs.
    The permissions for log rotation files are now adjusted to appease recent versions of logrotate.
  • SNMP-sourced service tests are now displayed with the time of last check.
  • The NMIS GUI now masks SNMP v3 passwords and similar credentials.
    The node exception display now works better for SNMP v3 nodes.
  • Improved robustness for NMIS runtime exceedence tests.
    NMIS now depends on a newer version of the Proc::ProcessTable module, which does never produce undesirable extra outputs that could create events with very weirdly named nodes (ie. lots of numbers after the node name).
  • Purging of old data now optionally includes old HTML reports and JSON config log entries
  • Some modelling improvements for Huawei devices
  • and, as always, various minor bug fixes and improvements.

NMIS 8.6.2G

This is a major new release of NMIS which introduces a number of new features, most notably variable frequency polling, schedulable outage windows and data validation for tables.

Highlights for the 8.6.2G release

  • NMIS now supports Variable Frequency Polling policies, configurable separately for each device.
    This feature can also lower the overall load substantially as not all node poll cycles need to start at the same 5 min boundary anymore.
    The minimum frequency is 60 seconds for SNMP/WMI collecting; possibly a bit lower for pinging (depending on your number of nodes).
  • It is now possible to schedule recurring outage or maintenance windows with very flexible candidate and period selectors,
    and NMIS now displays outages when in effect and raises outage open/close events for external consumption.
  • All NMIS tables now support configurable input data validation; this include the main system configuration.
    Additionally, numeric values for interface speeds and threshold rising/falling levels are now also enforced in the GUI.
  • Audit logging
    All outage manipulations are now logged with timestamps and originator in the new audit.log logfile; this will be extended for other important activities in future versions.
  • Various Model fixes, including corrected threshold-rising/falling 'Normal' level logic, repairs to model policy evaluation.
  • Configurable Context Links
    NMIS now supports a per-node-configurable (and -nameable) 'Context Link' which is shown for a node's primary view.
    The node's collect and update graph is now also reachable from the Diagnostics menu in that view.
  • New and improved models for Juniper, Netscreen ScreenOS, HP ProCurve, MikroTik, Alcatel, Fortinet devices, also for Cisco, Lucent and Zyxel DSLAM devices
  • Installer robustness and efficiency improvements
    NMIS 8.6.2G was verified to install cleanly on CentOS 6 and 7, Debian 8 and 9 and Ubuntu LTS 16.04.1.
    On minimal installations without perl, the installer now offers to bootstrap itself by installing  the perl core first.
  • and heaps of bug fixes and minor improvements

NMIS 8.6.1G

This maintainance release of NMIS was published on 21 December 2016.

Highlights for the 8.6.1G release

  • new and improved device support for Juniper, Meraki, VMware ESXi, MikroTik, Alcoma, Trango, Ubquiti, Radwin Wireless and others
  • Better support for devices whose SNMP agent supports snmpEngineTime.
  • NMIS can now perform threshold check operations during each node's collect operation, instead of separately at the end the collect run.
    This can be controlled using the option threshold_poll_node (default: true). Performing the threshold check with the node is normally more efficient and faster.
  • Disk thresholding was updated to work better with different disk sizes.
  • Thresholding for WMI-sourced data now works more reliably.
  • NMIS device modelling now works better with devices that have unreliable, changing object indices, and RRD database file naming can now access more variables for dynamic expansion.
  • Various installer robustness improvements
  • The node_admin tool now supports more fine-grained operations like act=set, and also node renaming combined with property setting in a single action.
  • The Basic Setup dialog now warns about an unsafe default authentication secret key.
  • NMIS now interoperates better with Nagios plugins, especially remote plugins accessed through NRPE (via the check_nrpe plugin).
    NMIS can now collect, store and display multiple 'performace values' that a Nagios plugin might return.
  • Logging verbosity levels and precision were improved.
  • Service checks using SAPI scripts and port connectivity checks using nmap honor timeouts now, and log more relevant information.
  • various graph improvements (e.g. better legends for interface utilization and disk usage graphs),
  • and of course various bug fixes and minor amendments.

NMIS 8.6.0G

This version was released on 14 October 2016.

Highlights for the 8.6.0G release

8.6.0G is a major release with lots of new features, improvements and bug fixes.

  • NMIS now supports collection of data from Windows systems using WMI  (Windows Management Instrumentation).
    WMI can be used independent of or together with SNMP, and the Windows-related models have been updated to make use of both sources.
  • NMIS now supports newer versions of the common OS distributions better, and the installer also handles systems with a minimal base (i.e. without Perl).
  • NMIS can now be installed or upgraded in a fully automated fashion without any user interaction.
  • ConnectWise's REST API was added as new authentication method.
  • Users can be locked out after a configurable number of failed login attempts.
  • Service testing was made more flexible and can now be performed at custom frequencies.
  • There are several new features for improved scalability and performance, especially for devices with lots of interfaces.
  • Lots of new or improved device and device capability models, and support for inventory collection on certain types of devices.
  • The standard models have been updated for greater modularity and ease of modification, and there are some flexibility enhancements for device modelling as well.
  • And of course lots of bug fixes and improvements, the  most important of which are outlined below.

Installation and Integration

  • The installer now asks only once for package installation confirmation, not repeatedly.

  • Better support for recent operating system distributions
    This now includes Debian 6 and up, Ubuntu 10 and up, CentOS/RedHat 6 and 7.

  • Better bootstrapping for systems without Perl installed

    As nmis depends on perl, the installer offers to bootstrap a standard Perl installation in that situation.

  • Now supports non-interactive installation and upgrade
    To automatically answer all confirmation dialogs with the default response, pass the installer the option -y, i.e. sh -- -y.

  • The supported migration operations were extended and reworked for greater robustness and safety
    These now include updating of the RRD directory layout, Table configuration files, NMIS plugins, and all the model  and graph files.

  • Conversion to JSON db files is now offered on upgrade
    This is highly recommended for performance reasons; for initial installations it's on by default.

  • example cron snippet files are now saved in install

  • The installer can now replace an existing installation if desired.
    After asking about creating a backup of your existing installation you're prompted with the choice of upgrading (default) or total replacement.

GUI Improvements

  •  NMIS can now use ConnectWise's REST API as authentication service.

  • Support for locking out users after N failed logins
    This  is controlled by two new configuration settings: auth_lockout_after (default: 0, ie. no lockout) sets the number of acceptable consecutive login failures, and server_admin (a comma-separated list of email addresses) sets the administrators who are notified by email if a lockout occurs.
    To clear a lockout, an administrator has to select the "reset login count" option in the User editing GUI (System Configuration -> System -> Users).

  • Collect and update times are now collected and graphed for every node
    These can be accessed for an individual node by selecting type "polltime" on the Graph Drill page. An overview is als available in form of the new report type "Collect/Update Time" (both as on-demand/Current and Saved/Historic report).

  • Nodes can now be renamed from the GUI
    This was already possible using the node_admin cli tool; now you can make that change on the Node Editing page.
    All files related to the node are renamed as needed.
  • node name wrapping (for long node names) is now on by default.

  • Colors for the group status displays were updated
    In coarse mode node downs are now shown red. The color graduation was adjusted for better scalability.

  • noncollecting interfaces are now easier to spot

    The 'all interfaces' view now displays interfaces with collect=false with a grey background.

  • The service status display now indicates the service test age with color, and has more flexible display and  navigation options.
    A service that hasn't been checked for longer than 1.5 times its configured service frequency is shown in yellow, or in red if the age is above 2 times the desired frequency.
    There are now links for easier navigation between all service-related screens, and the service selection can be narrowed down to only working or only services with problems.

  • The find tool was improved for better flexibility, the log viewer and many oder widgets  were made more robust
    The find tool now provides links to the nodes or interfaces found.

  • The NMIS Selftest now includes checking all file and directory permissions.
    Invalid file permissions are a relatively common problem. The  selftest checks permissions only once every two hours for efficiency reasons. The admin/ tool resets the selftest status to ensure the next NMIS run re-checks the status, and you can use the "Reset Selftest status" button in the GUI to do the same.

  • New support for separate "display name" properties for both nodes and interfaces
    In the Node Configuration GUI you can now optionally set a "display name" for a node and each of its interfaces.
    If such properties are set they are used instead of the node or interface name when showing the thing in the  GUI.

  • Service-only nodes now have a better default  view

  • The node display screen now shows more uptodate data
    In the past certain entries were only updated when a type=update was performed, not on collect. This has been changed.

  • events can now be closed easily from a node's view
    If the user has admin rights, a small close icon is shown next to each open event for a node. Events closed thus are logged as 'closed from GUI'.

  • The  Network Metrics and Health widget now supports a group limit cutoff
    In environments with huge numbers of group this widget could consume excessive amounts of cpu time. The new option network_summary_maxgroups (default: 30) controls how many groups are shown by default. If the limit is exceeded, a link for an unlimited view is shown.

  • The model editor was reworked for greater robustness and now works well with split/modular model files.
  • NMIS no longer honors the deprecated option auth_require=false.


  • Model file caching was added for improved performance
    If you are making model changes you will have to run a type=update operation to refresh that cache.

  • nmis type=update has new force=true option
    If set, all existing node information (except RRD databases) is ignored and the node status is reinitialized completely from scratch.

  • The interface speed limit enforcement is now configurable
    NMIS has long supported to ignore invalid or nonsensical interface counters, but  in version 8.6.0 this is an automatic standard feature.
    Every nmis type=update operation now automatically enforces all (new or modified) interface limits, by updating the RRD file limits according to the selected enforcement policy.
    The Node Configuration GUI lets you set the desired enforcement limits: option off disables limits for the given interface, option normal (which is the default) sets the limit to 2 times  the configured interface speed, while option strict sets the limit to be precisely the configured interface speed.

  • All Down events now include outage information for easier external consumption
    The event details will include text similar to this example: outage_current=true change='comment from the outage setup'

  • SNMP Version 3 support was improved, and SNMP V3 Contexts are now supported.

  • SNMP error handling was improved for greater ease of use
    In the past, errors related to SNMP data not fitting into a single packet ("message size exceeded") were terminal and required the user to adjust the node configuration, trading off robustness against speed.
    NMIS 8.6.0 handles this situation automatically and sensibly: if such an error is encountered, then the issue is logged, then NMIS automatically reduces the "maxrepetitions" parameter and retries the request. If the request with the reduced parameter works, NMIS caches that parameter setting for the remainder of the SNMP session lifetime. Up to four back-off and retry iterations are attempted before NMIS gives up.
  • Role types, Node types and Network types are now fully customizable
    In the past there were two or three hardcoded choices for each of these, and NMIS' internal logic depended on particular values. This is no longer the case. You can use the Configuration GUI to edit, replace or add new values for each of these properties.
    There is one minor caveat: in earlier versions SNMP service checks were only performed for nodes with nodeType "server", but now they are attempted for any node that has such service checks configured. If your device does not support the Host-Resources MIB but is (mis-)configured for SNMP service checks, then you will receive nuisance SNMP Down events (distinguishable by the event detail info saying something like "get SNMP Service Data: The requested table is empty or does not exist"). The solution is to deconfigure SNMP service checks for this  node.

  • Better integration of plugin code and main SNMP functions
    All plugins now  use the improved standard SNMP code, which makes extending plugins much simpler.

  • Better control over retaining of historic,closed events
    If the new option keep_event_history is set to false then NMIS cleans up old closed events immediately. Default is true, i.e. old  events are kept for archival purposes until the purging policy causes their cleanup.

  • Improved purging of old files
    The nmis file cleanup script was removed (as being too brittle and inflexible), and a new operation type=purge was added to This operation is much more precise and reliable, and also supports the option simulate=true, where it only shows candidate files for purging without making any changes.

  • The content of  test emails was improved.
  • Improved webtest Service test program
    The webtest script now supports https better, also offers explicit proxy selection, and can optionally make its requests with caching off.  In addition to that, the size of the response data is now reported to (and stored by) NMIS.
  • Some new Service test programs
    For example NMIS now ships with a test program for testing Citrix Netscaler logins.
  • Service tests can now run at custom frequencies, independent of the collect cycle
    (This does not apply to SNMP-based services, which are always and exclusively tested during a collect operation.)
    NMIS now honors your choice of service Poll Interval configuration, and the service will be tested no more frequently than requested.
    Service tests are performed as part of the collect cycle, but you may enable a more frequent type=services operation in the standard NMIS cron snippet.
    RRD parameters are adjusted to suit the service frequency, but only on service creation.
  • SNMP-based service tests now offer improved precision,  flexibility and robustness.
    It is now possible to check particular process instances, based on their command line arguments. Besides that, all instances of a given process are considered (instead  of just the last listed process as in the past). SNMP errors for a node no longer produce spurious service down events.
  • reporting of the interface availability of  a down interface is now configurable
    The  new configuration option interface_availability_value_when_down can be used to store the value 0 instead of the default value "U(ndefined)". This applies to interfaces that are down, and affects RRD and the graphing: RRD ignores periods where the value was "U", doesn't draw anything for such periods and the overall figures (in the legend) are also automatically based on just the non-U(ndefined) periods. On an interface that is down for a long time this may lead to certain legends reading "N/A" or "NaN". If this is undesirable, the value 0 can be saved in such cases.

  • NMIS now automatically ignores interfaces that have been down for N days or more
    The new config option global_nocollect_interface_down_days (default: 30) controls whether NMIS should stop attempting to collect interfaces that have been down for more than N days.

  • Multiprocessing behaviour can now be controlled from the configuration file
    The mthread and maxthreads commandline arguments now have corresponding configuration items nmis_mthread (default: false) and nmis_maxthreads (default: 10), and the maxthreads arguments have been removed from the default Cron snippet. If your environment requires greater parallelization you can now simply update the nmis_maxthreads configuration option and all NMIS operations will honor that setting. (As always, options passed on the command line override the configuration options.)

Modelling Changes and Improvements

  • New and improved device support
    Amongst other this includes Alcatel OSS, ASAM, Cisco 10000 BRAS, Checkpoint, Riverbed, Fortinet, Huawei routers, Extreme, NetEngine, NovelSat, NetGear and Trango devices.
  • New and improved device features
    VTP, MAC tables, LLDP, CDP, better Cisco environment sensor collection (fan, temperatures, PSU)
  • New support for inventory data collection
    Specifically from Cisco and Alcatel devices
  • Standard models now with better distinction between interface name and interface hardware description
    The GUI now shows interface properties with a suffix tag to indicate the source where applicable, e.g. "Description (ifAlias)".
    Various models were amended to use the "ifName" property as unique interface  name instead of the "ifDescr" whoose descriptive text is occasionally too long and unwieldy.
  • WMI is a new data source in NMIS 8.6.0
    Modelling for WMI is documented on this page.
  • Various new alerts were added
    E.g. excessive clock drift
  • The storage statistics collection now includes remote filesystems.
  • Most standard models were overhauled for greater modularity
    You will find many common modelling features are now encapsulated in their own Common-abc-xyz.nmis model file, and only referenced for automatic inclusion in the individual device model files (i.e. no longer embedded).
    This makes it much easier to manage changes and customizations.
  • new Model Policy infrastructure
    In addition to greater modularity in the models, we've also added the ability to dynamically select or deselect certain model features with a flexible Model Policy.
    For example, this allows the model behaviour to be adjusted for a specific node or based on other dynamic considerations.
    The model policy is documented in more detail on a separate page.
  • New Skip Interface Feature
    For very large devices it can be desirable to totally ignore many if not most interfaces. The model options skipIfType and skipIfDescr control this feature. The model Model-Cisco10000 contains a good example of this feature.

  • Collected data can now optionally bypass RRD storage
    The new modelling option nosave makes a collected model variable available  for use in other variable's calculate expressions, but it won't be saved in any RRD database.
  • More custom variables are now supported  in dynamic model expressions
    In the past most controlcalculate and test expressions supported one or at most  two custom variables. This has been generalized and now at least ten such variables are suppored (CVAR0 to CVAR9). 
  • Various graph updates
    Numerous graphs were reviewed and amended with better labels, comments and the like, and the numeric precision in some graph legends was increased.

NMIS 8.5.12G

This version of NMIS was released on 8 June 2016. It fixes two security issues and contains a number of (mostly minor) improvements and bug fixes.

Highlights for the 8.5.12G release

  • A number of XSS vulnerabilities (Cross-Site Scripting) were fixed.
    None of these were exploitable without being  logged in, and being an administrator of NMIS or one of the devices monitored.
  • A command-injection vulnerability in the Tools module was fixed.
    This was not exploitable with the default configuration, as the respective command (finger) isn't enabled.
  • All inputs from SNMP or log files or user-editable node configuration items are now safeguarded against XSS.
  • NMIS now ships with the automatic model upgrade tool integrated into the upgrade process.
  • NMIS can now lock out accounts after a number of consecutive failed logins. This feature is not enabled by default.
  • Various robustness improvements in the installer.
  • Various minor scalability improvements in the NMIS polling core.

NMIS 8.5.10G

This version of NMIS is scheduled for release on 7 September 2015.

Highlights for the 8.5.10G release

8.5.10G is a major release with lots of bug fixes and substantial other changes, the biggest being greatly improved support for service monitoring (which is described in more detail on this page).
Please note that for full interoperability with NMIS 8.5.10G some Opmantek applications must be upgraded after you upgrade NMIS. Further details are available on the Product Compatibility page.

Service Monitoring

  • NMIS service monitoring is now compatible with Nagios plugins: you can use any (standalone) Nagios plugin to monitor your service. NMIS will even collect and store any "performance data" that the plugin might return.
  • There is a new screen called "Monitored Services" which briefly displays a brief overview of all services your NMIS server monitors. It is reachable from the "Service Desk" and "Network Status" menus.
  • For each service there is also a new detailed view with recent status graph, overview of the latest readings (both standard and custom) and links to any custom graphs.
  • Program-based service tests (incl. Nagios) can now report a textual service status which is shown on the new service screens.
  • The polling period for service definitions now works as intended (but at this time service graphs will only work if the polling interval is set to less than 15 minutes).
  • NMIS now supports custom graphs for services: program-based services could already optionally return numeric data and NMIS would collect and store that data, but NMIS didn't support custom graphs for such extra measurements. With version 8.5.10G NMIS will detect the presence of such custom graphs and offer them where applicable.
  • NMIS now comes with a comfortable menu-based graph maker for such custom graphs.
    The tool is available as "admin/" and interactively guides you through the process of creating a custom graph for your particular service.
  • Service states are now more granular: up, down are as before and "degraded" was added. Any service whose status is above 0 (=down) and below 100 (=up) is considered degraded. Degraded services are displayed with different colors.
  • NMIS now emits more detailed events for service status changes: a new event "Service degraded" was added and all service-related events carry the optional textual status of the service.
  • NMIS ships with a number of new service monitoring example programs in "install/scripts/".

Deployment, Installation and Upgrading

  • SNMP v3 is now better supported and the installer ensures all the required packages are installed.
  • Installer improvements with regard to handling limited internet access, improved robustness and warnings about SElinux being active and enforcing.
  • The installer now handles perl versions newer than 5.18 better, and fully supports installation and upgrades on Debian 7 and 8, Ubuntu 14, and CentOS/RedHat 6.
  • The installer now optionally disables the (seldom-used but quite disk-hungry) syslog- and json-log actions in the "default" escalation policy.


  • The GUI now produces more detailed window titles and shows the configured NMIS server name in a number of views, including the main dashboard.
  • The GUI now works better with limited width screens, and "systemhealth" measurements and "diagnostic" node links are now shown in a menu.
  • SSH-links for nodes were added.
  • A number of navigational improvements were added for handling widgets that were expanded onto their own pages.
  • The self-test is now more precise and displays better data in the GUI.
  • Disk usage is now shown more human-friendly.
  • A new view called Node Admin Summary was added, which displays an overview of nodes from an administrative perspective (e.g. does it seem to be configured correctly? does SNMP work? are there any administrative issues with a node?). This is accessible from the menu "System" -> "Configuration Check" and on the group lists under "Network Metrics and Health".
  • The main login screen now displays a list of installed or available NMIS addon modules. (If necessary this can be disabled by setting the option "display_module_list" under "modules" in the main Config.nmis.)


  • The handling of nodes with large numbers of interfaces was substantially improved, and a number of optimisations to reduce the collect times for such devices were implemented.
  • The event subsystem was reworked for improved performance, and a number of related bugs were identified and fixed.
  • NMIS now uses locks for per-node operations to ensure correct sequencing even if an update or collect operation takes a very long time.
    Time-exceeded events now also include better diagnostic info, i.e. the node name in question.
  • Improved Threshold Alerts for some measurements, e.g. CPU.
  • New and improved models for Checkpoint, APC, ACME, Furukawa, Alcatel devices, Ubquiti, Microtek, Frogfoot, Cisco; better modelling of OSPF.
  • A number of models have been reworked for greater modularity and ease of use. Many were adjusted to handle corner cases better.
  • Updates of the Cisco product mibs.
  • For newly added nodes a type=update operation is now run automatically if and when required.
  • NMIS now detects problems with sending events via syslog better and logs them.
  • Node Configuration overrides are now presented better in the GUI, and the nodeconf subsystem was reworked for better performance.

NMIS 8.5.8G

Friday 24 April 2015

Highlights for the 8.5.8G General Release

8.5.8G is a maintenance release, which contains primarily bug fixes and a variety of minor improvements.

  • The installer now handles both CRON and RRD database layout migrations much more robustly.
  • The node status display was corrected for degraded nodes in a few obscure places.
  • A few widget fixes were incorporated, authorisation is now working correctly for the Basic Setup widget and unprivileged users.
  • Some graphs were improved with percentage displays.
  • The UUID subsystem in NMIS was repaired.
  • The receiver now handles sender nodes without DNS better.
  • Stateless events can now be escalated up a configurable stateless_event_dampening time.
  • Adjusting a node's configuration in the GUI now correctly handles events and thresholds.
  • New collection plugins for handling 802.1q/VLAN MAC tables and Cisco CDP data.
  • The helper scripts for RRD min/max setting and enforcing (for interfaces) have been extended and improved.
  • NMIS now skips nodes with more than 5000 interfaces by default, but this is configurable (see interface_max_number).
  • Improved device support for Cisco IOS and 7600, Net-SNMP based hosts (now with installed software!), ping-only nodes,  VMware ESXi  and Furukawa devices.

NMIS 8.5.6G

Friday 13 February 2015

Highlights for the 8.5.6G General Release

8.5.6 is a major new release with many exciting new features and improvements.  Opmantek keeps listening to our customers and users and improving NMIS to make it better for everyone.


  • There is now a Basic Setup wizard/panel that automatically pops up on every load until dismissed. It provides a guided and easy-to-use interface for the most essential basic configuration settings. The menu item Setup now covers this basic setup panel and the other most common configuration dialogs.
  • New Status Summary displays based around Customer and Business Service views.  Tell NMIS which node a customer is for or which business services is supports and see the status of your infrastructure from that view.
  • NMIS now offers a plugin infrastructure for complex modelling scenarios. A number of example plugins are shipped in install/plugins, which also includes a README file describing the plugin infrastructure and capabilities. By default the installer activates all plugins (via copying to conf/plugins) except the TestPlugin. Plugins can be disabled globally if so desired, using the configuration setting "system/plugins_enabled".

  • The installer was reworked extensively and now performs all required operations for both initial installations as well as upgrades, which includes the installation of distro-level and CPAN prerequisites, apache 2.4 integration, automated crontab generation and so on. The installer was tested extensively on Centos 6, Debian 7 and Ubuntu 12 and 14.
  • NMIS now has three modes for node status computation and display: "coarse", "classic" and "fine-grained" and the Basic Setup panel lets you switch between them. The differences are explained in detail on this page.

Usability, Robustness

  • There is now a Basic Setup wizard/panel that automatically pops up on every load until dismissed. It provides a guided and easy-to-use interface for the most essential basic configuration settings. The menu item Setup now covers this basic setup panel and the other most common configuration dialogs.
  • NMIS now performs a selftest before every collect or update, which covers disk space, operating system status, stuck NMIS processes etc. The results are displayed prominently in the GUI: the Metrics panel is replaced by the selftest status if there were any selftest failures. The selftest results are also accesible via the System/Host Diagnostics menu.
  • NMIS does not create any new RRD files if the disk size component of the selftest fails. The logging of both successful and rejected RRD file creation was improved.
  •  Config editing within the GUI was improved. Groups are now configurable in a convenient and safe fashion, and a number of bugs related to special characters were fixed. The GUI model editing infrastructure was reworked and now supports limited editing of model structures: existing elements can be changed or deleted, but no new elements can be added.

  • Invalid values in configuration elements are now handled better, especially for editing nodes. It is still highly recommended that you don't use spaces or other special characters in node names, but our testing has shown great resilience even with quite ridiculously bad node names.

  • Nodes can now have notes and the node editing dialog offers the notes field for editing.

  • now reacts to changes to NMIS configuration, nodes or events configuration, and restarts automatically if such changes are detected. fpingd now also logs more usefully, and fatal erorrs don't just vanish anymore.

  • The default ping timeouts were adjusted to 5s (up from 0.3s). Nodes with RTT figures above that value are considered down.

  • The notification and logging behaviour for events can now be configured (and disabled!) much more conveniently, using the menu Setup/Event Configuration. Model editing is no longer required.

  • Backwards-compatibility with NMIS 4 was made a configuration option, because automated guessing and falling back could cause race conditions. system/nmis4_compatibility is the configuration option in question.

  • NMIS now has a configuration backup tool which by default keeps the last 30 days of NMIS configuration, cron settings and model data in /usr/local/nmis8/backups.

  • The file cleanup tool that NMIS enables by default now also cleans up any corrupt RRD files, and works better in the very common situation of nmis8/database and nmis8/var not being in the same filesystem as nmis8 itself.

  • If you want to collect service monitoring data more frequently than normal type=collect activities,  then this is now possible: type=services can be run at any desired frequency from cron.

  • The NMIS GUI now supports running with a custom configuration file better; the conf=<configname> URL argument is passed through correctly now.

  • NMIS can now be temporarily locked by creating the file conf/NMIS_IS_LOCKED. The old mechanism (setting system/global_collect to false) still remains, but the new mechanism has the advantage of not requiring config editing and being simpler.

  • The NMIS support tool now offers to fix the most common setup problems.

  • The administration tools in admin/ are now subdivided into samples, archived/outdated and active ones.

  • NMIS now ships with a command line configuration patching tool, admin/, which will be handy for scripting configuration changes in large environments.

  • The alert for high memory usage for an individual process was removed as it was too unreliable.

  • Logging was generally improved and fewer nuisance log messages are created.

  • A rolling history of the most recent NMIS operations (and how long they took) is now kept in var/nmis_system/timestamps/.


  • NMIS now has three modes for node status computation and display: "coarse", "classic" and "fine-grained" and the Basic Setup panel lets you switch between them. The differences are explained in detail on this page.
  • The display of Systemhealth sections can now optionally include links to other pages or external sites. This feature is currently used for linking to a virtual/guest's NMIS page on VMWare ESXi hosts, if the virtual/guest is also managed by the same NMIS instance.
  • Many graphs were improved. Service monitoring with external programs was improved and more of the collected data is shown on the default graphs. The service graphs for cpu and memory were split into separate graphs because combining those very disparate values on a single graph didn't work well.

  • NMIS graphs no longer contain spurious spikes if a node resets or reboots.

  • The per-node pages now include a link back to the dashboard if opened in a separate tab.

  • The Nodes view now shows more information about when NMIS ran the last successful update etc. For nodes whose update times are far behind, those times are shown in yellow.

  • The event log and nodestatus displays were improved.

New Capabilities

  • New and improved device support for Scientific-Atlanta devices, Cisco IOSXE, Juniper, Net-SNMP, Ericsson-PPX, ...

  • Most models were reviewed and improved to some extent.

  • All models that support interface collection now also collect the interfaces' physical addresses.

  • Improved support for dealing with layer 2/LAN concepts; NMIS now  supports the collection of CDP information, MAC and Bridge tables.

  • NMIS now can syslog to tcp-based syslog recipients.

  • NMIS email sending was reworked, an option to use STARTTLS was added, and setting custom SMTP ports now work fine. SMTP authentication is also much more robust in 8.5.6, and the logging of email sending was improved as well.

  • NMIS now offers a plugin infrastructure for complex modelling scenarios. A number of example plugins are shipped in install/plugins, which also includes a README file describing the plugin infrastructure and capabilities. By default the installer activates all plugins (via copying to conf/plugins) except the TestPlugin. Plugins can be disabled globally if so desired, using the configuration setting "system/plugins_enabled".

  • The nmis_post_proc facility was removed as the plugin infrastructure now provides that feature more efficiently and safely. The old "run custom plugin" facility was marked deprecated for the same reasons; it will be removed from the next version of NMIS.


  • The installer was reworked extensively and now performs all required operations for both initial installations as well as upgrades, which includes the installation of distro-level and CPAN prerequisites, apache 2.4 integration, automated crontab generation and so on. The installer was tested extensively on Centos 6, Debian 7 and Ubuntu 12 and 14.
  • We now recommend that you use a system-wide cron snippet in /etc/cron.d/nmis, instead of the per-user root crontab, because that's much more robust and easier to maintain over time. The installer offers to create a suitable default snippet for you, and type=crontab can create both types of cron schedule.
  • NMIS 8.5.6 recommends a different, simplified rrd directory structure. Common-database now contains those settings, and the tool admin/ is provided to perform the migration. The installer offers to run that tool on your behalf. Further details are available on this page.

  • A tool for convenient bulk comparison between models directories has been added, admin/ The installer offers to run it on your behalf automatically. The process for upgrading your models is documented in detail on this page.

NMIS 8.5.4G

Monday 24 November 2014

Highlights for the 8.5.4G General Release

8.5.4 is a major new release with numerous new features.

  • the NMIS installer now reports missing modules better, and aborts (by default) if there are any crucial missing modules
  • NMIS now handles critical sections and long-running NMIS processes much better than before
    • PID files are no longer used, and instead the actual process table is checked.
    • New config option max_child_runtime can be used to limit collect/update job runtime.
    • If NMIS jobs runs over-time, a warning event is generated unless config option disable_nmis_process_events is set to false.
    • Collect jobs can now optionally run longer than a single collect cycle, if the command line option ignore_running=true is given - in which case NMIS will just warn about old NMIS processes that are still running, not kill them as it does by default.
    • The NMIS Collect Runtime graph now includes average and maximum number of NMIS processes.
  • NMIS now includes a full-fledged node administration tool for command line and script use
    • admin/ can create, export, update and delete nodes
    • it can also rename nodes, and all RRD and other node database files are renamed accordingly
  • can now add any groups that are set for specific hosts but not globally configured (command line argument type=groupsync).
    This is not done automatically as groups are meant as an administrative mechanism for selecting/skipping nodes' in the GUI.
  • NMIS now consistently supports "true/1/yes" and "false/0/no" for setting boolean configuration values everywhere.
  • 8.5.4 includes improved new versions of the support tool and the data pruning tools
  • logging was improved, reduced false positives in the logs
  • improved device support  for Net-SNMP-based hosts and Windows hosts, Cisco devices
  • new  and improved device support for Huawei routers, including Quality of Service collection and graphing
  • improved helper script now sets interface speed maxima, and correctly adjusts them on repeat execution
  • improved with more precise logging. fpingd now can also optionally log stateless node information (see option fastping_stateless_log) for external consumption
  • event escalation is now handled more robustly and consistently
  • improved activation of opMaps and opFlow display widgets
  • improved file permission handling for improved performance
  • numerous graph improvements and bug fixes

NMIS 8.5.2G

Tuesday 9 September 2014

Highlights for the 8.5.2G General Release

8.5.2 is primarily a bug-fix release, but we couldn't resist adding a number of nifty new features as well.

  • NMIS now collects, graphs and trends Key Performace Indicators for every node. The health measurement KPIs are configurable in terms of weighting as well as time window (see metrics section in Config.nmis).
  • NMIS now supports configurable audio notifications for events of particular severities (see the sound section in Config.nmis).
  • URLs in event details are now detected and presented as clickable links.
  • The log viewer now supports a simplified binary scheme for coloring event based on severity (see overall_node_status_coarse in Config.nmis).
  • Interface speeds are now shown in human-friendly format.
  • NMIS is now less noisy if you use a distribution-provided rrdtool instead of compiling your own.
  • The NMIS support tool was improved to collect more essential system status information, and to interoperate with the OMK Support tool if present.
  • The Apache configuration created by type=apache was corrected and modernized.
  • NMIS now supports both old-style crypt and Apache-MD5-style password hashing  for authentication.
  • New and Improved support for GE and Netgear devices, adjustments to the Cisco model (for collecting "Tunnel" interface data), improvements for VMware ESXI and Windows 2008
  • Improved display and robustness for service monitoring
  • The precision of NMIS' log information was improved and a number of nuisance/false positive log messages were eliminated.
  • Logging of Node configuration change events can now be enabled and disabled selectively (see log_node_configuration_events in Config.nmis).
  • The SNMP Tuning parameters were adjusted for better robustness and interoperability and max_repetitions must now be enabled for a particular node.
  • The log rotation config file was adjusted to include all relevant log files.
  • An improved script for purging of old files is provided.
  • And a number of smaller bug fixes and minor improvements.


Wednesday 18 June 2014

Highlights for the 8.5G General Release

This release incorporates numerous important improvements to the NMIS GUI and backend. A substantial number of bugs have been fixed as well.

GUI-related Changes and Enhancements

  • The GUI for editing nodes has been reorganized and now shows the settings in a much more user-friendly fashion.
    Required settings are now labelled such and shown at the top, followed by less common 'extra' options and finally the (not commonly changed) 'advanced' options.
  • The system menu in the GUI was reworked and now provides faster access to the most common and essential configuration dialogs.

  • The main dashboard now offers two types of Overview widget.
    There is the old purely numeric "Network Status and Health" display, and the new "Network Metrics and Health" display with both a graph and simplified metrics. The new style is the default, but you can revert to the old widget by setting the configuration option display_network_view (in the modules section) to false.
  • Numerous graphs were revised and now use different, friendlier colors.
  • The URLs used in the GUI were adjusted slightly to make NMIS work better behind an https reverse proxy.
  • The NMIS GUI now provides an RSS feed widget that displays the latest news from the NMIS Community Site.
    If desired, the widget can be disabled by either closing the widget and saving the windows and positions afterwards, or by setting the config option display_community_rss_widget (in the modules section) to false.
  • The "Save Windows and Positions" option now works correctly for multiple users, and the windowstate cache file was moved to the var directory.
  • A number of GUI widgets were adjusted to work better in both widgeted and non-widget mode.
  • Historic information and graphs for disabled or non-collected interfaces is now available as long as the respective rrd files remain present on your NMIS server.
  • The health report was fixed and entries are now sorted correctly for all supported sort criteria.
  • The utilisation period for the interface table display is now configurable.
    The config options interface_util_period (default: "-6 hours", must be given in RRDTool AT-Time format) and interface_util_label control that feature.

Backend Changes

  • The installer script was improved to deal better with installations from scratch, and its log file is now more comprehensive and contains the exit status of any external commands that were run.
  • The NMIS Support Tool is now included with the main NMIS package.
  • The diffconfigs tool was substantially improved and now works much better for comparing deeply structured files (e.g. model files).
  • Support for monitoring services of Service Type DNS was improved and made consistent with the other service tests.
    Now the current node is used as dns server, and it is queried for the dns name given in service_name.
  • The Windows server models were updated and no longer attempt to collect unavailable snmp variables.
  • SNMP interoperability was substantially improved.
    There are two key config items for dealing with recalcitrant snmp agents, described below. They can be set for an individual node, or as a global (fallback) config option.
    • snmp_max_msg_size (default: 1472 bytes) controls how large a single SNMP packet may be; in LAN-only scenarios it is possible to increase this past 1500 bytes (which causes IP fragments and packet reassembly)
    • snmp_max_repetitions (no default value) controls how many PDUs will be packaged into a single SNMP packet. If large SNMP tables are collected then it may be necessary to reduce this setting to 10-20 (when used with the default packet size); otherwise a figure of 40-50 minimizes the number of SNMP packets and thus speeds up collection.
  • NMIS 8.5 provides new and improved device support for GE Power, Alcatel ASAM and VMWareESXi devices.
  • Support for generic service monitoring was improved.
    NMIS now automatically collects and displays process information for all devices that support the Host Resources MIB (RFC 2790). The format for this services list display was also updated for better readability. This automatic collection is independent of specific services that you might instruct NMIS to monitor and graph.
  • The net-snmp model was substantially improved.
    The memory values and graphs are now more comprehensive and easier to digest, and there is a new threshold alert for high swap memory usage.
    The high process memory alert is now activated automatically if the node in question supports the Host Resources MIB.
    The other alerts and thresholds were finetuned to reduce the number of false positive nuisance events.
  • The general logging was reviewed and a number of false positive error messages are no longer generated.
  • The location of rrd database files is now directly and solely controlled by the config file Common-database.nmis (in the models directory).
    Previously a cache of the rrd locations was kept in the individual node files, which interfered with moving or reorganizing rrd files and was therefore removed.  If you would prefer a different directory hierarchy for your rrd files, this is now much easier to achieve: all you need to do is inhibit NMIS for a while, edit Common-database.nmis to suit your needs, move the existing rrd files into their new locations, then let NMIS recommence its polling.
  • A helper script for cleaning up old data was added.
    admin/ lets you prune unused and outdated files. Please be aware that using this helper would remove files associated with any disabled nodes or interfaces for which you might want to  keep historic data.
  • The rrd-related helper scripts were overhauled and now provide more useful diagnostic output.
  • The escalation subsystem was improved and orphaned events for deleted nodes, terminated processes etc. are no longer left behind.

NMIS 8.4.10G

Tuesday 4 April 2014

Highlights for the 8.4.10G General Release

This release incorporates a variety of bug fixes and some new features.


  • New and improved device support for RAD Optimux, Eltek Power UPS, net-snmp-based devices, Alcatel devices.
  • Calculate and alert/threshold test and value expressions now support combining multiple variables in expressions.
  • Improved CBQoS metrics
  • rrd_tune helper script can now set a ceiling for a node's responsetime.
  • Improved browser and standards compatibility in the GUI.
  • The traplog receiver now works better with traps from multiple sources, both forwarded as well as directly submitted ones.
  • Service testing has been streamlined, with improved graphs and the reporting of the response time for the service test.
  • Service testing now supports calling external programs to test a service state.
  • Improved handling of models with systemHealth sections, where all collected data is now stored in node files (and available to the GUI) instead of just when an update is run.


  • All GUI components now work in widget and standalone mode.
  • Nodes that are down during updates are now correctly handled and artificial gaps in the reachability graphs are no longer created.
  • Per-interface thresholds can now be disabled from the GUI.
  • The fpingd behaviour now fully matches the documentation and fallbacks to the system ping client should no longer happen.

NMIS 8.4.8G

Tuesday 28 January 2014

Highlights for the 8.4.8G General Release

This release incorporates a number of features requested by Opmantek commercial customers and a variety of bug fixes. This release also provides a combined script for automatic installation and upgrading..


  • New install and upgrade script
    Simply run ./ -h after unpacking NMIS to see its options.
  • New Device Support
    New and improved support for GE, Zyxel and Alcatel devices, and improved support for displaying resource utilisation (cpu and memory).
  • Outage Scheduler tool
    The new tool bin/ allows one to schedule future outages for groups or individual nodes. sets up one-off outages only and can be run from cron to create recurring outage windows.
  • Node View with configurable fields
    The new configuration option network_viewNode_field_list controls which fields  are shown in the Node View and in what order.
    The default setting  includes a standard set of properties, but custom fields are fully supported.
  • Compression of rotated logs
    The configuration for log rotation was updated and streamlined,  and NMIS logs are now compressed after a week.
    install/logrotate.conf should be copied to conf in order to activate this, as well as to fix a path issue with this configuration file.
  • New Global Model Overrides
    The configuration option global_collect_ifDescr was added to override the models' interface collection rules, and ifDescr was added  as a per-model collection option.
    Both of these options support regular expressions.
  • More Event Details
    The new configuration option global_events_bandwidth controls whether event details should include an interface's bandwidth.


  • Improved loading of device information for the NMIS dashboard, improving load times for large deployments
  • Escalation policies now work with Event_Element fields that contain "/" characters.
  • Various layout fixes for group overview and status pages, and improvements for system health display.
  • The snmp maximum message size is now fully adjustable, both on a global basis as well as a per-node setting (on the Edit Node page).
  • Node configuration and model editing work both as widgets and as standalone pages now.
  • Unprivileged users are no longer shown menus that they are not allowed to access.
  • The script subsystem for collecting service data now works as documented.
  • The display type "textbox" for custom tables now works as documented.

NMIS 8.4.6G

Monday 14 October 2013

Highlights for the 8.4.6G General Release

  • Added config options for threshold_falling_reset_dampening and threshold_rising_reset_dampening
  • Changed how runEscalate uses interface info, not working well for 500000 interfaces 
  • Added new method to for per node interface index by ifDescr on demand.
  • Fixed bug in dashboard where SNMP polled nodes not showing node down properly.
  • Fixed nodeConf which was using Lower Case node names and not matching.
  • New device support: 
    • PaloAlto devices
    • ServersCheck devices
    • Emmerson Energy Systems
    • Alcatel ASAM's
    • Mikrotik
    • more
  • Additional mibs added for traps
  • Fixed problems with JavaScript Dashboard, including upgrade of JQuery
  • Added interface links to email notifications.

NMIS 8.4.1G

Monday 29 April 2013

This release incorporates feature requests from the community and Opmantek commercial customers.  There is so much going on in this new release writing the release notes has delayed the release, so we have decided to release now and keep expanding and improving the release notes.

Highlights for the 8.4.1G General Release

  • New device models for Cisco AP, currently 1200 and 1240, but should work for others, ZyXEL Switches, Cisco Nexus, Cisco ASR9000 (IOS-XR) and Cisco ASR1000 (IOS-XE)
  • Fixed NMIS AAA for internal application authentication and authorisation, this includes Single Sign-on Support.
  • NMIS AUTH working with LDAP including MS AD LDAP
  • Added ability to notify using syslog (requires Net::Syslog)
  • Improved server support, Windows, Linux, Solaris, VMware ESXi, Apple MAC OSX
  • Custom Alerts, so cool, Alerts - Using models to generate custom events
  • Custom Tables, so extensible, Custom Tables in NMIS
  • System Health modelling for modelling just about anything without writing code.
  • Saveable NMIS widgets, layout your widgets and save the settings and NMIS will start with the same ones.
  • Fixed problems with webpage and posting, including improved support for Internet Explorer (Firefox and Chrome work great).
  • Added interface descriptions to interface threshold events and emails
  • Node configuration change tracking & notification (Cisco devices)
  • Added a customer table and customer grouping options to the status dashboard, NMIS Dashboards with Alternate Groupings - Customers and Business Services

New in the 8.4.1G General Release

  • Added support for Cisco AP, currently 1200 and 1240, but should work for others
  • Added collections for Spanning Tree Topology Changes on a switch and the Number of Routes in a router.
  • Added ZyXEL Switch support for MGS-3712F and GS2200-24
  • Added temperature support for ZyXEL and Cisco Nexus (under environment)
  • Added temperature thresholding
  • Fixed PKTS_HC graphs to include better colours (so they can be seen)
  • Display the PKTS_HC graph if available.
  • Added interface descriptions to Interface up/down events and emails
  • General model enhancements
  • Added support for Cisco ASR9000 (IOS-XR) and Cisco ASR1000 (IOS-XE)
  • Added which was missing from NMIS8
  • Added server health calculations to reflect CPU, Memory and Disk usage
  • Service polling for servers now polls CPU and Memory for those services.
  • Added full support for Cisco Nexus Devices
  • Improved Support for Sun Solaris 5.10
  • Converted to HTML5
  • NMIS AUTH working with LDAP including MS AD LDAP
  • Added a configuration option for setting the protocol in the emails which go out, nmis_host_protocol
  • Added ability to notify using syslog requires Net::Syslog (add to install guide)
  • NMIS can use snmpEngineTIme in the model instead of sysUpTime and this prevents bad Node Reset events.
  • added logOrder field so Logs.nmis can be edited from GUI
  • Fixed NMIS Auth splash screen
  • Fixed bug with handling of event clearing, in particular stateful proactive events were not getting UP notifications.
  • default authorisation privileges with configuration options for group as well
  • added faster escalation for Level0, and optional skip escalation for syslog notifications.
  • Added Locations, BusinessServices and Status to NMIS Nodes table.
  • Add JSON Logging for escalations.
  • added default values for Monkey business
  • syslog_use_escalation
  • disable thresholding globally with global_threshold, and on poll cycle with threshold_poll_cycle
  • added custom alerts for creating alerts from SNMP results on the fly.
  • fixed problem with SNMP Services being checked when node was down.
  • Global model over-rides, added global overrides for the models, so models don't have to be edited individually.
  • created models for TCP information, including graphs for tcp-conn and tcp-segs, added to Windows2008 and net-snmp for now.
  • Created a config audit, mainly for checking file permissions
  • Table configuration moved from to configuration files, it is now possible to add new tables to NMIS dynamically.
  • Fixed up file permissions in setFileProt, so now non root users can set group permissions.
  • Added an NMIS Audit type=audit function and improved type=config to fix all file permissions
  • Fixed the ip graph to better represent local and forwarded packets.
  • Improved the CBQoS graphs.
  • Improved LOTS of graphs.
  • Asymmetric (e.g. ADSL) interface support in Node Configuration and throughout NMIS, including thresholding.
  • Added many modelling enhancements to the net-snmp model, to assist with NMIS performance monitoring
  • Consolidated models with pkts and pkts_hc graphs to save on disk space, this included updates to use pkts_hc data for thresholding.
  • Enhanced custom alerts to cover all objects in the modelled node.
  • Finalised custom interface modelling for the manual interface table collection for Alcatel.
  • added a default Model with HC counters and ifHighSpeed support, must be manually selected.
  • improved the look of graphs and made graph fonts configurable.
  • new multi-tenant setup
  • Updated NMIS OID file with new products from Cisco Product MIB, now scripted for future updates.
  • Improved support for Cisco Catalyst IOS Devices
  • Changed Catalyst 4000/5000/6000 running CatOS to NOT collect when no interface description.
  • Added support for Cisco CSR IOSXR, should support other IOSXR devices.
  • Added support for Cisco 1240 Access Points, should support other device types.
  • Added testing mode for model verification, debug lite (mode=true)
  • Updated login splash screen, included configurable MOTD and Custom Logo
  • Contact level event level filter, define the event criticality which a contact is interested in.

Enhancements and Changes in 8.4.1G General Release

NMIS Auth, Single Sign On (SSO) Configuration

  • If using SSO, you must be using FQDN's for servers.
  • Each NMIS server must be configured with the same auth_sso_domain and auth_web_key, and the auth_sso_domain must contain at least two "." (periods), so the correct auth_sso_domain value for would be ""

Syslog Notification

It is now possible to define a syslog server you want NMIS to send events to, there can be one or more syslog servers defined.

Global Model Overrides

Added global overrides for the models, so models don't have to be edited individually.

  • 'global_collect_Description' => '(CNOC|Collection)',
  • 'global_nocollect_ifOperStatus' => 'null',
  • 'global_nocollect_ifDescr' => 'sublayer|null|controller',
  • 'global_nocollect_Description' => '^#',
  • 'global_nocollect_noDescription' => 'true',
  • 'global_nocollect_ifType' => 'other|softwareloopback|propVirtual|slip',
  • 'global_noevent_ifDescr' => 'null',
  • 'global_noevent_Description' => '^!|^0',
  • 'global_noevent_ifType' => 'other'

Fixes in 8.4.1G General Release

  • fixed Windows2008 model for mib2ip being wrong type, created to fix any bad mib2ip RRD's
  • added mib2ip to net-snmp
  • Removed deprecated MIB object ipOutNoRoutes
  • Fixed an Internet Explorer Problem with popup graphs.
  • fixed large post edit's in nodeconf
  • found wrong datatype on TopChanges (STP Changes), admin/ run=true change=true

NMIS 8.3.9G

Thursday 11 October 2012

This release incorporates many new features and bug fixes from the last 10 months.

New in 8.3.9G General Release

  • New device support, including Cisco Nexus and VMware ESXi 
  • Improved High Capacity Counter support
  • Support for SMTP over SSL and SMTP authorisation
  • New for improved Log viewing (faster, better, stronger)
  • Improved IPSLA options for bucket management to improve scalability
  • Tool for comparing and automatically updating existing NMIS configurations to the new templates
  • Improved threshold controls, so policies can be different for core, distribution and access devices.

Enhancements and Changes in 8.3.9G General Release 

New and Improved Device Support

Added ESXi 5 SNMP support for host collection.

Added basic Nexus Support.

Added IP graphs in the models for certain devices

Removed Cisco specific content from the Generic and Default models.

Improved Threshold Granularity

Added more granularity to the default Threshold Model for a few policies, and added properties for control, to include group and roleType properties for even more granularity.

Config comparing and updating tools

admin/ /usr/local/nmis8/install/Config.nmis /usr/local/nmis8/conf/Config.nmis

admin/ /usr/local/nmis8/install/Config.nmis /usr/local/nmis8/conf/Config.nmis

Display Company Logo on NMIS Dashboard

A "company_logo" option added to the Config.nmis, this can be any URL which will point to a logo to use, no bigger than 30px high is better.

Collect an interface based on description pattern

This overrides all other properties. This is added to the model in the interface section, looking something like this:

'collect' => {
    'Description' => '(CNOC|Collection)',

The description is a regular expression which can contain complex patterns. Options

Added config option, 'fastping_node_poll' => '300' and 'fastping_sleep' => '60', these control how many nodes fpingd will ping at once will use DNS by default or use what the OS would like it to use, using Perl gethostbyname.

New IPSLA Configuration Options

IPSLA configuration options from the NMIS config.

# collect interval time in seconds
my $collect_time = $C->{ipsla_collect_time} ? $C->{ipsla_collect_time} : 60;
# collect interval of buckets in seconds
my $bucket_interval = $C->{ipsla_bucket_interval} ? $C->{ipsla_bucket_interval} : 180;
# extra collect buckets for polling cycle
my $extra_buckets = $C->{ipsla_extra_buckets} ? $C->{ipsla_extra_buckets} : 5; 

Interface Persistance for Node Configuration

Node Configuration now uses the ifDescr to index manual changes to the interfaces, so that changes will be persisted even if the device changes the ifIndexes on reboot (as Cisco devices often do). Also fixed ifSpeed to be shortened.

Improved SNMP Connectivity Handling

Fixed problems with SNMP polling when SNMP is down, optionally can continue polling SNMP if fails, good for unreliable/congested links.
'snmp_stop_polling_on_error' => 'true'

Disable NMIS Polling

Disable polling temporarily by using the global_collect set to false in the config.

Polling Performance Log

Polling Log for see what is being polled and written to RRD, configure with polling_log.  To enable polling log a file must be configured in Config.nmis and the file must exist.

Many Other Enhancements

Added HostInfo to

Added NMIS::Modules to allow transparent integration with NMIS Extensions

New config option for handling wrapping of node names. wrap_node_names defaults to false

Added new host diagnostics, nmis_polling_summary

added config option, nmis_summary_poll_cycle, when set to false, you can run type=summary to improve polling performance.

Added config option for widget_refresh_time, default will be 180, this is for very busy dashboards which were constantly refreshing data.

Added view tables to the Access configuration for Authorisation, not allowed for anonymous and some allowed for guest. New Access.nmis template

Added a new log file, auth.log, all Auth logging will be sent to that log file.

Added missing items back into Config for various things, like PING options.

IPSLAD off by default, need to install SNMP_Session

Added SMTP Authentication and SMTP over SSL SUPPORT.

Changed network metrics selector to be a pull down instead of a clickable link.

Added NMIS::uselib as a package to better handle including RRDTool, fixed the things including use lib for rrdtool

Added more granular thresholds for Gigabit interfaces, others could be added to be speed dependant as well.

Bought SNMP handling options into configuration, snmp_stop_polling_on_error, snmp_timeout, snmp_retries

Fixes in 8.3.9G General Release

Fixed thresholding so that it processed the other items listed in the models, it was only processing the first item in the list.

Fixed a bug with SNMP polling where exceptions where not being handled causing SNMP session corruption. Only an issue in networks with very high latency and packet loss.

Fixed the left/right/centre in the Top10 report.

Fixed a bug with blank events in the event log.

Fixed Log Targets for viewing logs in Widgets

Fixed Javascript namespace where forms where conflicting

Fixed bug with customising locations, where on changing an update would use sysLocation from SNMP, but collect would use custom location.

Working with MTR

Sticky bit needs to be set on MTR to work, owned by root and sticky

chown root /usr/sbin/mtr
chmod u+s /usr/sbin/mtr

NMIS 8.3.1G

Thursday 1 December 2011

The focus of this release has been to continue with the stabilisation from the previous NMIS8 releases to bring NMIS8 to a production quality release. In addition there are significant functional and usability enhancements.

New in 8.3.1G General Release

  • Hierarchical QoS supported
  • IPSLA Support
  • NMIS Authentication and Authorisation fully functioning with "Apache" method
  • Added many new Authorisation classes and updated default policy
  • Added Network Metrics Graph
  • Added NMIS Collection Graph
  • Many UI enhancements and refinements
  • Kai-Uwe Poenisch's updates for AKCP sensor, Cisco CSS and Nortel/Bay networks gear
  • Till Dierkesmann updates, including some fixes and mods for Authentication and Authorisation

Changes in 8.3.1G General Release

  • User Interface updates
    • updated Widget styles to be more refined
    • updated colorPercent to be better and more different between colors
    • updated dash tables to expand with widget
  • Menu has been re-structured to be more operationally functional, the major headings are now (this is easily customisable):
    • Network Status
    • Network Performance
    • Network Tools
    • Reports
    • Service Desk
    • System
    • Quick Select
    • Help

Fixes in 8.3.1G General Release

  • Moved many elements from code to the Configuration (Config.nmis)
  • Many many many to be listed.

Caveats for 8.3.1G General Release

  • Authentication ( working well with Apache Method, but issues with Cookie handling on internal methods.  Current Apache method usable and functional, and LDAP, Radius, etc, can be implemented with Apache.
  • IPSLA module currently requires SNMP_Session, which is included with the release

NMIS 8.2.1

Thursday 22 September 2011

The focus of this release has been to stabilise NMIS8 from the Beta release to something which we feel a candidate for general release, this goal has been largely achieved with feedback from the community and a huge effort by the development team.  In addition there are significant functional and usability enhancements.

Fixes in 8.2.1 Candidate Release

  • User Interface (UI) refresh bug fixed
  • Integrated SNMPv3 patch from Mark Nagel, SNMPv3 tested and working
  • Cleaned up source directory tree of redunant files
  • Corrected links to menu icons in many files.
  • Search should be case insensitive, based on request from Jose
  • Update documentation URL's to

New in 8.2.1 Candidate Release

  • Improved usability.
  • Improved look and feel.
  • Improved operational usability, more current and historical status in one place.
  • Updated UI with improved widget engine, as drilling into more detailed information, each level is presented as a widget
  • UI based on jQuery and JD Menu, leveraging full CSS for styling and "skin"
  • Each widget is draggable, resizable, closable, independantly of the web page.
  • Independant widget refresh cycles, based on URL widget is created with (status widgets refresh, config widgets do not)
  • Customisable UI elements all controlled through dash8.css, making the UI highly skinnable.
  • All dash generation code bought back to commonv8.js to centralise dash generation.
  • Tested and updated many widgets and screens with new colour scheme
  • Added Network Events widget based on the NMIS event.log, showing recent operational status.

NMIS 8.1.1

NMIS 8 is the culmination of years of thought and work, the thought went into, how to improve on NMIS 4, which was a challenge, as many people loved the way NMIS worked.  NMIS 8 focused on core engine improvements and an improved user experience.

19 April 2011

New in 8.1.1 Beta

  • NMIS8 Changes are significant from NMIS4
  • Highly modular code base
  • Increased levels of Object Oriented Code use
  • Device support based on an Object Oriented hierarchical model, which is coded outside the core system, creating separation from the engine code and device support code.  Also meaning that most device support issues can be resolved without editing the NMIS source code.
  • Updated UI, information opens as a widget when drilling down
  • No labels