...
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, andserver_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 thenode_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. Theadmin/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 optionnetwork_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: optionoff
disables limits for the given interface, optionnormal
(which is the default) sets the limit to 2 times the configured interface speed, while optionstrict
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 optionkeep_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 operationtype=purge
was added tonmis.pl
. This operation is much more precise and reliable, and also supports the optionsimulate=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
Thewebtest
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 frequenttype=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 optioninterface_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 optionglobal_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
Themthread
andmaxthreads
commandline arguments now have corresponding configuration itemsnmis_mthread
(default: false) andnmis_maxthreads
(default: 10), and themaxthreads
arguments have been removed from the default Cron snippet. If your environment requires greater parallelization you can now simply update thenmis_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
...