NSClient++
Clone or download
Latest commit 85d3bcb Apr 26, 2018
Permalink
Failed to load latest commit information.
.github tweaked template a bit Oct 17, 2017
build add rudimentary Dockerfile for building in alpine 3.4 Mar 30, 2018
clients Some linux build issues Oct 2, 2017
debian Fixed debian 8 docker build possible fix for #537 Jan 27, 2018
docs Merge pull request #548 from exchange12rocks/patch-1 Mar 30, 2018
ext changed mode to +x for scripts Feb 3, 2018
files changed mode to +x for scripts Feb 3, 2018
include Changed logger to log failed messages to nsclient.fatal (in same fold… Apr 26, 2018
installers Added broken icinga client (will fix soon) Mar 12, 2018
libs WEBServer: Fixed #550 check_nsc_web not working Apr 11, 2018
modules ExternalScripts: Fixed #558 added trace logging for external scripts Apr 12, 2018
op5 Changed cr/lf on all files locally Oct 17, 2016
packages added file so packages folder is kept Dec 29, 2014
patches/gtest-1.6.0/cmake * x64 build fixes as well as improvments to build protocol buffers a… Jan 15, 2013
resources Updated documentation and added make.bat to easily build documentatio… May 21, 2013
scripts Added sample zip module (icamp) to showcase how to add configuration … Mar 12, 2018
service Changed logger to log failed messages to nsclient.fatal (in same fold… Apr 26, 2018
tools/error_reporter Fixed url in reporter Mar 19, 2017
vagrant changed mode to +x for scripts Feb 3, 2018
web Webserver: Fixed password encoding #389 Apr 7, 2017
.gitattributes some potential debian fixes Feb 1, 2017
.gitignore Some more (post) cr-lf fixes Oct 17, 2016
.gitmodules (re)added miniz submodule Oct 28, 2017
.travis.yml possible fix for travis build Jan 22, 2018
CMakeLists.txt Added infrastructure for building zip-modules Mar 12, 2018
CODE_OF_CONDUCT.md Create CODE_OF_CONDUCT.md Oct 17, 2017
COPYING Fixed accidentally replaced with wrong license before Jan 15, 2017
README.md Update README.md Mar 10, 2016
changelog updated changelog Feb 3, 2018
check_deps.cmake * New experimental way to build things automagically as well as new … Aug 14, 2012
nscp.spec.in removed reports from spec file as it is not used on linux Apr 3, 2016
version.txt Bumped version Apr 26, 2018

README.md

NSClient++

Stable 0.4.4: Build Status

Master: Build Status

NSClient++ (nscp) aims to be a simple yet powerful and secure monitoring daemon. It was built for Nagios/Icinga, but nothing in the daemon is Nagios/Icinga specific and it can be used in many other scenarios where you want to receive/distribute check metrics.

The daemon has 3 main functions:

  • Allow a remote machine (monitoring server) to request commands to be run on this machine (the monitored machine) which return the status of the machine.
  • Submit the same results to a remote (monitoring server).
  • Take action and perform tasks.

NSClient++ can be found at: http://nsclient.org

Documentation can be found at: http://docs.nsclient.org

Extending NSClient++

NSClient++ is designed to be open ended and allow you to customize it in any way you design thus extensibility is a core feature.

  • ExternalScripts responds to queries and are executed by the operating system and the results are returned as-is. This is generally the simplest way to extend NSClient++ as you can utilize whatever infrastructure or skill set you already have.
  • LuaScripts are internal scripts which runs inside NSClient++ and performs various tasks and/or responds to queries. This is the best option if you want to allow the script to run on any platform with as little infrastructure as possible.
  • PythonScripts are internal scripts which runs inside NSClient++ and performs various tasks and/or responds to queries. Python is an easy and powerful language but it requires you to also install python which is often not possible on server hardware.
  • .Net modules similar to Native modules below but written on the dot-net platform. This allows you to write components on top of the large dot-net ecosystem.
  • Modules are native plugins which can extend NSClient++ in pretty much any way possible. This is probably the most complicated way but gives you the most power and control.

Talking to NSClient++

Since NSClient++ is meaningless by itself it also supports a lot of protocols to allow it to be used by a lot of monitoring solutions.

  • NRPE (Nagios Remote plugin Executor) is a Nagios centric protocol to collect remote metrics.
  • NSCA (Nagios Service Check Acceptor) is a Nagios centric protocol for submitting results.
  • NSCP is the native NSClient++ protocol (still under development)
  • dNSCP is a high performance distributed version of NSCP for high volume traffic.
  • NRDP is a replacement for NSCA.
  • check_mk is a protocol utilized by the check_mk monitoring system.
  • Syslog is a protocol primarily designed for submitting log records.
  • Graphite allows you do real-time graphing.
  • SMTP is more of a toy currently.

Supported OS/Platform

NSClient++ should run on the following operating systems:

  • Windows: From NT4 SP5 up to Windows 2012R2 and Windows 8.1
  • Linux: Debian, Centos and Ubuntu (and possibly others as well)
  • Win32, x64 as well as various Linux hardware as well.