Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: added info re new mthread config items

...

  • 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 nmis8.6.0g.run -- -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/fixperms.pl 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.

  • 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.

  • 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 nmis.pl. 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

...