No description, website, or topics provided.
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

About check_nsc_web

check_nsc_web collects check results from NSClient++ agents using its brand-new REST API. It is an alternative to check_nrpe et al. check_nsc_web can be used with any monitoring tool, that can use Nagios compatible plugins.

To be easily portable, check_nsc_web is written in Go. Binary builds for Linux, Windows and MacOS are available in the build subdirectory.

check_nsc_web is released under the GNU GPL v3.

Usage examples

  • Alive check
go run check_nsc_web.go -k -p "password from nsclient.ini" -u "https://<SERVER_RUNNING_NSCLIENT>:8443"
OK: NSClient API reachable on https://localhost:8443
  • CPU usage
check_nsc_web -k -p "password from nsclient.ini" -u "https://<SERVER_RUNNING_NSCLIENT>:8443" check_cpu
OK: CPU load is ok.|'total 5m'=16%;80;90 'total 1m'=8%;80;90 'total 5s'=8%;80;90
  • CPU usage with threshodlds
check_nsc_web -k -p "password from nsclient.ini" -u "https://<SERVER_RUNNING_NSCLIENT>:8443" check_cpu show-all "warning=load > 75" "critical=load > 90"
OK: 5m: 1%, 1m: 0%, 5s: 0%|'total 5m'=1%;75;90 'total 1m'=0%;75;90 'total 5s'=0%;75;90
  • Service status
check_nsc_web -k -p "password from nsclient.ini" -u "https://<SERVER_RUNNING_NSCLIENT>:8443" check_service "service=BvSshServer"
OK: All 1 service(s) are ok.|'BvSshServer'=4;0;0
  • Complex eventlog check
check_nsc_web -k -p "password from nsclient.ini" -u "https://<SERVER_RUNNING_NSCLIENT>:8443" check_eventlog "file=system" "filter=id=8000" "crit=count>0" "detail-syntax=\${message}" show-all "scan-range=-900m"
OK: No entries found|'count'=0;0;0 'problem_count'=0;0;0

Program help

Usage of ./check_nsc_web:

  check_nsc_web is a REST client for the NSClient++ webserver for querying
  and receiving check information over HTTPS.

  Copyright 2016 Michael Kraus <>

  This program is free software: you can redistribute it and/or modify
  it under the terms of the GNU General Public License as published by
  the Free Software Foundation, either version 3 of the License, or
  (at your option) any later version.

  This program is distributed in the hope that it will be useful,
  but WITHOUT ANY WARRANTY; without even the implied warranty of
  GNU General Public License for more details.

  You should have received a copy of the GNU General Public License
  along with this program.  If not, see <>.

  check_nsc_web -p "password" -u "https://<SERVER_RUNNING_NSCLIENT>:8443" check_cpu

  check_nsc_web [options] [NSClient query parameters]

  check_nsc_web can and should be built with CGO_ENABLED=0

  -V	Print program version.
  -f int
    	Round performance data float values to this number of digits. (default -1)
  -j	Print out JOSN response body.
  -k	Insecure mode - skip TLS verification.
  -p string
    	NSClient++ webserver password.
  -t int
    	Connection timeout in seconds, defaults to 10. (default 10)
  -u string
    	NSCLient++ URL, for example
  -v	Enable verbose output.
  -x string
    	Extra text to appear in output.