Skip to content

August 2026

0.11.25 New Linux support and installer fixes

This release includes significant, but experimental, Linux support. While it has always been possible to use and build NSClient on Linux we now build official packages which are ready to be installed. In addition to this there are a lot of fixes and enhancements to make running on Linux much more viable.

🐧 Experimental Linux Support

The Linux version is now complete and mirrors the Windows experience more closely than ever before.

  • Unified Commands: CheckSystemUnix has been renamed to CheckSystem. Linux users can now use the same configuration as Windows users.
  • Distribution-Specific Binaries: We now provide optimized builds for Debian, and Rocky Linux (redhat).
  • Scripting Parity: Full support for Python and Lua scripts is now available on Linux, including proper script-folder routing.
  • Permission Improvements: Default logging on Linux is now directed to the console, allowing the agent to run without sudo when testing. Also now certificates are generated when you run nscp web install to prevent sudo requirements when running as a service.

🛠️ Installer & Core Stability

After a series of regression tests in the 0.11.x branch, the installer has been hardened.

  • Fixed Upgrade Logic: Resolved a critical issue where a DLL name change caused the WiX installer to fail or leave files missing during upgrades in some instances.
  • Configuration Protection: Added safeguards to prevent the installer from overwriting or wiping existing .ini configurations during an upgrade.
  • Silent Install Flags: Reintroduced and documented ALLOW_CONFIGURATION=0 for msiexec, allowing admins to deploy the MSI without touching existing config files.

🏗️ Architectural Refactoring

  • Modular Codebase: Significant internal refactoring of nscapi and protobuf functions to improve long-term maintainability.
  • Windows Core Cleanup: Reorganized Windows-specific code into a dedicated internal directory structure to separate it from cross-platform logic.
  • Enhanced Testing: Many unit tests as well as a new Azure-based automated integration test.

⚠️ Upgrade Note for ALLOW_CONFIGURATION=0

If you use ALLOW_CONFIGURATION when upgrading from an old version the configuration might be deleted. This is an issue which is in the old installer and thus not possible to fix. This has however been fixed in future upgrades.

Download

You can download the new version from GitHub

// Michael Medin

0.11.6 New interactive client

New check_nsclient client

This new release adds a new check_nsclient client tool. This is a stand-alone application you can use to connect to and interact with NSClient. This new client can:

  • Run queries/checks
  • Change configuration
  • Show logs
  • Load/unload modules

It also have an interactive client you can use which is aimed as a replacement for “test mode”.

To connect to NSClient you need to have the web server enabled and then you can login with the same username and password as you use in the web-ui:

$ check_nsclient nsclient auth login --password PASSWORD --ca %LOCALAPPDATA%\mkcert\rootCA.pem
Successfully logged in

Credentials are securely stored in store in credential manager.

The reason there is a nsclient command line option is that soon this will also support NRPE and other protocols as well becoming a universal monitoring tool.

After this you can show logs:

$ check_nsclient nsclient logs list
╭────────┬───────────────────────┬──────────────────────────────────────────────────────────────────╮
│ level │ date                 │ message                                                         │
├────────┼───────────────────────┼──────────────────────────────────────────────────────────────────┤
│ debug │ 2026-Jan-11 12:36:26 │ NSClient++ 0.4.0 2026-01-11 x64 booting...                      │
│ debug │ 2026-Jan-11 12:36:26 │ Booted settings subsystem...                                    │
│ debug │ 2026-Jan-11 12:36:26 │ Archiving crash dumps in: C:\src\build\nscp/crash-dumps         │
│ debug │ 2026-Jan-11 12:36:26 │ Found: CheckExternalScripts                                     │
│ debug │ 2026-Jan-11 12:36:26 │ Found: CheckSystem                                              │
│ debug │ 2026-Jan-11 12:36:26 │ Found: Checkhelpers                                             │
│ debug │ 2026-Jan-11 12:36:26 │ Found: LuaScript                                                │
│ debug │ 2026-Jan-11 12:36:26 │ Found: NRPEServer                                               │
│ debug │ 2026-Jan-11 12:36:26 │ Found: WEBServer                                                │
╰────────┴───────────────────────┴──────────────────────────────────────────────────────────────────╯

Or to load and enable a module you can:

$ check_nsclient nsclient modules use CheckHelpers
Successfully loaded and enable module CheckHelpers

Or you can execute queries:

$ check_nsclient nsclient queries execute-nagios check_cpu
OK: CPU load is ok.|'total 5m'=10%;80;90 'total 1m'=10%;80;90 'total 5s'=7%;80;90

As well as launch the new interactive client:

check_nsclient nsclient client

image

The client is included in the installer or it can be downloaded separately below as check_nsclient

One benefit of this client is that it can output everything as text, json, yaml or csv making it easy too integrate in any system:

$ check_nsclient --output json nsclient queries execute check_cpu
{
  "command": "check_cpu",
  "lines": [
    {
      "message": "OK: CPU load is ok.",
      "perf": {
        "total 1m": {
          "value": 12.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        },
        "total 5s": {
          "value": 21.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        },
        "total 5m": {
          "value": 11.0,
          "unit": "%",
          "warning": 80.0,
          "critical": 90.0,
        }
      }
    }
  ],
  "result": 0
}

You cal also have multiple profiles (foo) and connect to remote systems (--url):

check_nsclient nsclient auth login foo --url https://127.0.0.1:8443 --password PASSWORD --insecure
# ...
check_nsclient --output json nsclient --profile foo queries execute check_cpu

Once your are done you can log out (and remove credentials from credential store);

check_nsclient nsclient auth logout

Download

You can download the new version from GitHub

// Michael Medin