NSCA-ng
The NSCA-ng package provides a client-server pair that makes the Nagios command file accessible to remote systems. This allows for submitting passive check results, downtimes, and many other commands to Nagios or compatible monitoring solutions. It can also be used for implementing distributed setups. The submitted data is queued by the NSCA-ng server if Nagios goes down. Multiple check results or commands can be submitted in one go, and multiline plugin output is fully supported. Client modules are available for Perl and Python.
NSCA-ng also offers the following features:
- SecurityNSCA-ng uses TLS encryption and shared-secret authentication with per-client passwords, as well as fine-grained authorization control.
- PerformanceThe NSCA-ng server is written in C and uses an event-driven architecture. Disk I/O is avoided unless the data cannot be submitted in one go due to its size (on Linux, the threshold is 64 kB). In this case, the data is handed over to Nagios via asynchronously written files.
- CompatibilityThe NSCA-ng client (send_nsca) accepts all input, command line arguments, and configuration files accepted by the send_nsca binary provided with the original NSCA package. NSCA clients cannot talk to NSCA-ng servers (nor vice versa), but NSCA and NSCA-ng servers can happily run side by side.
- ExtensibilityNSCA-ng uses a simple and documented text-based protocol that doesn’t impose arbitrary packet size limits. It is easily extensible in a backward-compatible manner.
- PortabilityThe NSCA-ng code has been built with many different compilers on various platforms. It should run on any non-ancient Unix-like system.
Download
DEB Packages
Ubuntu users can install NSCA-ng from the official repositories. A Debian package is available in Jessie. Debian Wheezy users are encouraged to use the backport or the package provided by the Debian Monitoring Project.
RPM Packages
The openSUSE Build Service kindly provides RPM packages for Fedora and openSUSE.
FreeBSD Package
The FreeBSD Ports Collection includes nsca-ng and nsca-ng-client packages in the net-mgmt category.
OpenBSD Package
OpenBSD users can install net/nagios/nsca-ng from the ports tree.
Source Code
See the release history for a summary of changes between versions. A detailed change log is also available. Old releases can be found in the download area.
The files are signed using the NSCA-ng developers key.
Development
Git Repository
The NSCA-ng source code is maintained in a public Git repository on GitHub.
Integration Tests
The development workflow includes continuous integration tests hosted by Travis CI and static code analysis performed by Coverity Scan.
- Travis CI build status:
- Coverity metric:
Documentation
- The README file gives an overview and provides instructions for building NSCA-ng from source.
- The Icinga Documentation includes a section on how to use NSCA for setting up distributed monitoring. This applies to NSCA-ng (and Nagios) as well.
Manual Pages
Further Documentation
Acknowledgements
Many thanks go to my employer, Zentraleinrichtung für Datenverarbeitung (ZEDAT) at Freie Universität Berlin, and especially to Heiko Schlichting, who contributed most of the good ideas behind NSCA-ng.
Thanks also go to Alexander Golovko for contributing the Python module and to Matthias Bethke for contributing the Perl module.