1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164
|
Welcome to NSCA-ng!
===================
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][1] to Nagios (or
compatible monitoring solutions).
NSCA-ng supports TLS encryption and shared-secret authentication with
client-specific passwords (based on [RFC 4279][2]), as well as fine-grained
authorization control.
Prerequisites
-------------
1. [OpenSSL][3] 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-openssl` script, which downloads the
most recent OpenSSL version and installs it into the NSCA-ng source
tree. The `./configure` script (see below) will then pick that up
automatically.
2. The NSCA-ng *server* also requires [libConfuse][4] 2.6 or newer. In
order to embed a private copy of libConfuse into NSCA-ng, the
`./build-aux/make-confuse` script could be run before calling
`./configure`.
3. If [libev][5] 4.00 or newer is available and found by the `./configure`
script, NSCA-ng will (by default) use it. Otherwise, a bundled copy of
libev is embedded into NSCA-ng, so this dependency is optional.
4. Optional [systemd][6] 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-systemd` option on the `./configure` command
line.
Installation
------------
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-server`
Build and install the NSCA-ng server (in addition to the client, unless
`--disable-client` is specified).
* `--disable-client`
Don't build and install the NSCA-ng client.
* `--disable-posix-aio`
Don't use the POSIX AIO API. By default, the NSCA-ng server will use
the POSIX AIO API if available.
* `--prefix=PATH`
Install NSCA-ng into subdirectories of `PATH` instead of `/usr/local`.
* `--with-confuse=PATH`
Search for the libConfuse header files in `PATH/include`, and search for
the libConfuse library files in `PATH/lib`. If this option isn't
specified, `./configure` will look for libConfuse in a few typical
locations.
* `--with-ev=PATH`
Search for the libev header files in `PATH/include`, and search for the
libev library files in `PATH/lib`. If this option isn't specified,
`./configure` will 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=embedded` can be specified; while `--with-ev=external` would
disallow falling back to the bundled libev code.
* `--with-openssl=PATH`
Search for the OpenSSL header files in `PATH/include`, and search for
the OpenSSL library files in `PATH/lib`. If this option isn't
specified, `./configure` will 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.
Configuration
-------------
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.
Usage
-----
Please see the scripts in the `contrib` directory for various usage
examples.
NSCA Compatibility
------------------
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.
Documentation
-------------
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`.
Support
-------
Bug reports and patches can be sent to the <developers@nsca-ng.org> list (no
subscription required). For usage support, please subscribe to the
<users@nsca-ng.org> list. See the [NSCA-ng][7] website for details.
[1]: http://www.nagios.org/developerinfo/externalcommands/
[2]: http://tools.ietf.org/html/rfc4279
[3]: http://www.openssl.org/
[4]: http://www.nongnu.org/confuse/
[5]: http://libev.schmorp.de/
[6]: http://www.freedesktop.org/wiki/Software/systemd/
[7]: http://www.nsca-ng.org/
<!-- vim:set filetype=markdown textwidth=76 joinspaces: -->
|