Quick Start
This guide takes you from zero to your first successful check in about 10 minutes.
Note
This guide assumes Windows. NSClient++ also runs on Linux, but some modules are Windows-only.
Step 1 — Download and Install
Download the latest MSI installer from the releases page.
Look for a file named NSCP-<version>-x64.msi and launch it.
The installer will walk you through a few screens:
- Select monitoring tool — choose
Genericif you are not using Op5 Monitor. - Select configuration — the default (ini file) is the right choice for getting started.
- Basic settings — enter the IP address of your monitoring server in the Allowed hosts field and note the generated password; you will need it to access the web interface.
- Enable common checks — leave this checked so that CPU, memory, and disk checks are available immediately.
- Enable NRPE server — enable this if you want your monitoring server to poll NSClient++ using
check_nrpe. - Click Install.
After the installer finishes, the nscp Windows service starts automatically.
Step 2 — Open the Test Shell
The test shell lets you run checks interactively and see debug output in real time. It is the best tool for learning and troubleshooting.
Warning
The test shell runs NSClient++ in the foreground. Stop the service first so they do not conflict.
Open an Administrator command prompt and run:
cd "C:\Program Files\NSClient++"
net stop nscp
nscp test
You will see startup messages followed by:
L client Enter command to inject or exit to terminate...
You are now in the test shell. Type exit at any time to quit, then restart the service with net start nscp.
Step 3 — Load a Module and Run Your First Check
Modules provide the actual check commands. If you enabled "common checks" during installation, the key modules are already active. Let's verify by running a CPU check:
check_cpu
Expected output:
OK: CPU load is ok.
'total 5m'=2%;80;90 'total 1m'=5%;80;90 'total 5s'=11%;80;90
If you instead see Unknown command(s): check_cpu, load the module first:
load CheckSystem
check_cpu
Understanding the output:
OK: CPU load is ok.
'total 5m'=2%;80;90 ← 5-minute average: 2% used, warn at 80%, crit at 90%
'total 1m'=5%;80;90 ← 1-minute average
'total 5s'=11%;80;90 ← 5-second average
- The status (
OK,WARNING,CRITICAL,UNKNOWN) is what your monitoring server receives. - The
'key'=value;warn;critpairs are performance data — metrics your monitoring server can graph over time.
Step 4 — Try a Few More Checks
check_memory
check_drivesize
check_service
check_uptime
Each command works with sensible defaults. See what comes back and experiment with arguments:
# Custom thresholds — warn if CPU > 50%, critical if > 70%
check_cpu "warn=load > 50" "crit=load > 70"
# Check only drive C:
check_drivesize drive=C: "warn=free < 20%" "crit=free < 10%"
# Show memory detail
check_memory "top-syntax=${list}" "detail-syntax=${type} free: ${free} used: ${used} size: ${size}"
Step 5 — What Next?
Now that NSClient++ is running, and you have run your first checks, choose a path:
| I want to… | Go to… |
|---|---|
| Monitor a real server end-to-end | Windows Server Health scenario |
| Set up disk space alerting | Disk Space scenario |
| Monitor a Windows service | Service Monitoring scenario |
| Monitor the Windows event log | Event Log scenario |
| Read a Windows performance counter (PDH) | Performance Counter Monitoring |
| Connect to my monitoring server via NRPE | Connecting via NRPE |
| Connect via passive monitoring (NSCA/NRDP) | Passive Monitoring (NSCA/NRDP) |
| Let Prometheus scrape metrics from the host | Prometheus Scraping |
| Log in to the web UI (use the password from Step 1) | Web Interface |
| Harden the agent (TLS, allowed hosts, …) | Securing NSClient++ |
| Understand filters and thresholds | Checks In Depth |
| Hit a problem or have a question | FAQ |