Work at SourceForge, help us to make it a better place! We have an immediate need for a Support Technician in our San Francisco or Denver office.

Close

Tree [b9e22f] master /
History



File Date Author Commit
build 2014-07-13 Michael Medin Michael Medin [8ee746] + * Unwrapped the macros from plugins.?pp
clients 2014-06-25 Michael Medin Michael Medin [0f9e7f] (re)Added NRPE multi packet patch
docs 2014-07-06 Michael Medin Michael Medin [76c26d] Fixed some documentation issues as well as buil...
ext 2014-07-13 Michael Medin Michael Medin [fef805] * Improved reload handling.
files 2014-07-05 Michael Medin Michael Medin [3b5834] Moved documentation to a separate repository an...
helpers 2014-07-10 Michael Medin Michael Medin [5c94c7] removed all precompiled headers (since they wer...
include 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
libs 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
modules 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
patches 2013-01-15 Michael Medin Michael Medin [5de642] * x64 build fixes as well as improvments to bu...
resources 2013-05-21 Michael Medin Michael Medin [d9318f] Updated documentation and added make.bat to eas...
sample 2013-05-20 Michael Medin Michael Medin [f54269] Yet another massive update with mainly internal...
scripts 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
service 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
tools 2014-07-10 Michael Medin Michael Medin [5c94c7] removed all precompiled headers (since they wer...
vagrant 2014-06-05 Michael Medin Michael Medin [0945c3] untested attempt at ubunto fixes (vagrant box)
web 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
.gitignore 2014-05-18 Michael Medin Michael Medin [5bbc87] Added first web server prototype and REST support
.gitmodules 2014-07-05 Michael Medin Michael Medin [3b5834] Moved documentation to a separate repository an...
.travis.yml 2014-01-04 Michael Medin Michael Medin [a7e2a4] 2014-01-04 MickeM
CMakeLists.txt 2014-07-05 Michael Medin Michael Medin [3b5834] Moved documentation to a separate repository an...
README.md 2013-11-04 Michael Medin Michael Medin [34cf2e] Merge github.com:mickem/nscp
changelog 2014-07-19 Michael Medin Michael Medin [b9e22f] * Extensive additions to the WEB UI
check_deps.cmake 2012-08-14 Michael Medin Michael Medin [0845bc] * New experimental way to build things automag...
nscp.spec 2013-10-16 Pall Sigurdsson Pall Sigurdsson [d05954] RPM Spec file added for nscp
version.txt 2014-07-06 Michael Medin Michael Medin [76c26d] Fixed some documentation issues as well as buil...

Read Me

NSClient++

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 deamon 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 2008 and Windows 7
* Linux: Debian, Centos and Ubuntu (and possibly others as well)
* Win32, x64 as well as various Linux hardware as well.