The NSCA-ng package provides a client-server pair which 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).
NSCA-ng supports TLS encryption and shared-secret authentication with client-specific passwords (based on RFC 4279), as well as fine-grained authorization control.
-
OpenSSL 1.0.0 or newer is required for building NSCA-ng (as older releases don't support pre-shared key authentication). This is the only hard dependency of the NSCA-ng client. If the OpenSSL version provided by your operating system vendor is too old, you might want to build a private copy of OpenSSL and embed it into NSCA-ng. This could be done by running the
./build-aux/make-opensslscript, which downloads the most recent OpenSSL version and installs it into the NSCA-ng source tree. The./configurescript (see below) will then pick that up automatically. -
The NSCA-ng server also requires libConfuse 2.6 or newer. In order to embed a private copy of libConfuse into NSCA-ng, the
./build-aux/make-confusescript could be run before calling./configure. -
If libev 4.00 or newer is available and found by the
./configurescript, NSCA-ng will (by default) use it. Otherwise, a bundled copy of libev is embedded into NSCA-ng, so this dependency is optional. -
Optional systemd integration code is added to the NSCA-ng server if systemd's
sd-daemon(3)library is found. This can be disabled by specifying the--without-systemdoption on the./configurecommand line.
If only the client should be built, issuing the following three commands in NSCA-ng's source directory should do the trick:
$ ./configure
$ make
$ su root -c 'make install'
This installs the NSCA-ng client into appropriate subdirectories of
/usr/local.
The installation process can be customized by setting environment variables
and/or passing options to the ./configure script. Some of the more
frequently used ./configure options include:
-
--enable-serverBuild and install the NSCA-ng server (in addition to the client, unless
--disable-clientis specified). -
--disable-clientDon't build and install the NSCA-ng client.
-
--disable-posix-aioDon't use the POSIX AIO API. By default, the NSCA-ng server will use the POSIX AIO API if available.
-
--prefix=PATHInstall NSCA-ng into subdirectories of
PATHinstead of/usr/local. -
--with-confuse=PATHSearch for the libConfuse header files in
PATH/include, and search for the libConfuse library files inPATH/lib. If this option isn't specified,./configurewill look for libConfuse in a few typical locations. -
--with-ev=PATHSearch for the libev header files in
PATH/include, and search for the libev library files inPATH/lib. If this option isn't specified,./configurewill look for libev in a few typical locations; and if no usable version is found, a bundled copy of libev will be embedded into NSCA-ng. In order to force usage of the included copy,--with-ev=embeddedcan be specified; while--with-ev=externalwould disallow falling back to the bundled libev code. -
--with-openssl=PATHSearch for the OpenSSL header files in
PATH/include, and search for the OpenSSL library files inPATH/lib. If this option isn't specified,./configurewill look for OpenSSL in a few typical locations.
For a full list of available options and environment variables, run
./configure --help. See the file INSTALL for detailed installation
instructions.
The NSCA-ng client is configured using the send_nsca.cfg(5) file, the
NSCA-ng server uses the nsca-ng.cfg(5) file. Examples of these files are
installed if they don't already exist.
Important: Please set the permissions of the configuration files appropriately to make sure that only authorized users can access them.
A script such as nsca-ng.init (as provided in the contrib directory of
this package) could be used to start and stop the NSCA-ng server.
Please see the scripts in the contrib directory for various usage
examples.
The NSCA-ng client (send_nsca) is a drop-in replacement for the
send_nsca binary provided with the original NSCA 2.x package in the sense
that NSCA-ng's send_nsca accepts all input, command line arguments, and
configuration files accepted by the original send_nsca. NSCA-ng clients
cannot talk to NSCA servers (nor vice versa), but NSCA and NSCA-ng servers
can happily run side by side, and they use different ports by default.
Detailed information regarding the build and installation process can be
found in the file INSTALL.
The NSCA-ng usage and configuration is documented in the nsca-ng(8),
send_nsca(8), nsca-ng.cfg(5), and send_nsca.cfg(5) manual pages. The
commands send_nsca -h and nsca-ng -h spit out short summaries of the
available command line options.
For each release, noteworthy changes are listed in the file NEWS. Feature
additions which are planned for future releases are added to the TODO
file.
For copyright and license information, see the file COPYING.
Bug reports and patches can be sent to the [email protected] list (no subscription required). For usage support, please subscribe to the [email protected] list. See the NSCA-ng website for details.