Skip to content

What's New in NSClient++ 0.5.2


  • Brand new REST API
  • Much improved documentation
  • ZIP-Modules
  • Op5Client

In addition to the above we have the usual slew of bug fixes and minor enhancements. One important change is that the code base have been re-factored in many places meaning the code will be easier to access for new developers. But more importantly this will allow for better unit testing in the future.


The new REST API is a true rest-full API which is not built around the internal protobuf API. This means it will be much simpler to work with and will allow you to much easier integrate it into your systems. The API also get support for uploading both scripts and modules to provide a truly remote configurable client. But the most important feature is access control on a per method level as well as user/password authentication. This means you can add a user which will only be allowed to run queries but not alter the configuration. We have also swapped out the old moongose implementation for one which is multi-threaded which means it will function a lot better under high load.


Not only have we switched to a much easier to read template for the documentation we have added numerous pages about the REST API, Zip modules, Python script as well as much internal updates. In addition to this we have also reworked the reference section so it contains more useful information and less bloat.


In brief zip-modules allow you to package scripts together as zip-files for easy distribution and use. With zip modules you can enable or disable all script in one go via the regular load/unload module concept.


A brand new Client which talk to Op5 natively via their northbound (Passive REST) API. The installer also has MSI options so you can silently install NSClient++ which automatically registers and becomes monitored from Op5.

msiexec /i NSClient++.msi OP5_SERVER= OP5_USER=monitor OP5_PASSWORD=rotinom

Other changes:

 * REST: Fixed #485 check_nscp_web is now supported again, sorry for the delay....
 * Added command line commands to nscp web for adding users and roles: nscp web <add-user|add-role> --help
 * Added /api and /api/v1 endpoints to provide information about API
 * Added API documentation for scripts
 * Added configuration for grants and roles #448 #449
 * Added privilege system for API #448 and #449
 * Added support for basic auth (#448)
 * Brand new REST API
 * Brand new web server with multi thread support.

 * Fixed python script CLI for loading scripts
 * Fixed python script issues
 * PythonScripts: Made python scripts compatible with external scripts cli as well as code refactoring

 * Updated the API documentation
 * Added Python API documentation
 * Fixed rendering issue in api docs
 * Added example real-time eventlog command to docs
 * Fixed #472 Added sample exclude versus filter
 * Fixed #471 added sample command with perf-config to check_memory
 * Fixed #499 Added details about adding performance data to documentation about checks
 * Added compatibility matrices to documentation (Fixing #482 )

 * CheckEventLog added support for fetching xml
 * check_eventlog: Added support for audit success/failure keyword filtering Fixed #488
 * eventlog: Fixed issue where real-time eventlog message return duplicate results if same log with different case was added

 * CheckExternalScripts added support for not writing the configuration when adding script (--no-config)
 * Added delete to CHeckExternalScritpts to delete scripts: nscp ext delete --script <alias> will delete the alias and nscp ext delete --script <script> will delete the script.
 * Added new command-line show to show script in external scripts module: "nscp ext show --script <alias>" will show the actual command execute and "nscp ext show --script <script>" will show the content of the script.
 * Fixed external scripts not showing in command list

 * Added hidden to check_tasksched to allow checking of hidden tasks

 * NSCA Client: Fixed #511 nsca status can be set with a number from command line

 * check_process: Fixed #494 empty status message
 * check_pdh: Added ignore-errors to make counters return 0 instead of errors: #454 * Reduced CPU load of checking handles for systems with large number of processes
 * Fixed #403 reduced cpuload on some servers by only collecting handle information every 10x instead of every iteration

 * core: Refactoring
 * Fixed #520 removed pointless log message about logger
 * Events: Added proper event names
 * Fixed so clients (test/web) can show multiple lines in output
 * Fixed #413 check_network returning the wrong values
 * Added syntax=none to remove default values from various top/empty/* syntaxes
 * Fixed show-all will not change if the list is already present: fixes #528