Monthly Archive for September, 2013

Nagios Core 4.0.0 Now Available

We are pleased to announce that Nagios Core 4.0.0 is now available for download. Core 4 brings numerous performance enhancements and new features to a platform that is already the world leader in monitoring. Key changes included in this release are outlined below:

  1. Performance Improvements:
    –  Core Workers (see below for more information.)
    –  Configuration Verification: In Core 4, each configuration item is only verified once with an O(n) operation, whereas in Core 3 it was an O(n^2) operation.
    –  Event Queue: In Core 4, inserting events into the event queue is now an O(log n) operation, whereas in Core 3 it was an O(n) operation.
    –  Macros: In Core 4, macros are now sorted at start-up so that a binary search can be used rather than the linear search that was used in Core 3. In addition, frequently accessed macros such as $USERx$, $ARGx$, and $HOSTADDRESS$ are given special case, early lookups.
  2. Query Handler: The query handler provides a simple interface for external entities communicating with Nagios Core. Core workers use the query handler interface.
  3. Core Workers: The process of performing checks is now handled by a lightweight core worker process.
    –  There are standard worker processes that are created when Core starts that stay running as long as Core is running. This eliminates at least one fork of Nagios Core when a check is performed and in many cases two forks, thus speeding up the checks.
    –  Core workers communicate with the main Nagios Core process with an in-memory IPC mechanism (currently Unix-domain sockets), eliminating the I/O bottleneck that Core 3 encountered while writing and reading check results to/from disk.
    –  The core worker architecture is extensible to special purpose workers that could potentially perform checks even faster and/or distribute the check load.
  4. libnagios: libnagios is a library of functions useful to developers of query handlers and core workers.

For more detailed information on what’s new in Core 4, visit:

NRPE 2.15 Released – Now with IPv6 Support

NRPE 2.15 was released earlier today. The primary update in this version of NRPE is full support for IPv6.

The NRPE daemon now has the ability to listen on IPv4 and/or IPv6 addresses. In addition, the check_nrpe plugin now accepts switches that specify whether an IPv4 or IPv6 connection should be made to the NRPE daemon. The NRPE daemon has always had the ability to perform checks using IPv6, assuming the plugin it runs supports it. Thanks to Leo Baltus for the patch that made this possible.

IPv6 communication has been tested on Linux (RHEL/CentOS) and is known to work there. It also known to compile on other Unices that we have access to: Solaris 10, AIX 5.3 and 6.1 and HP-UX 11i v1. Feedback on these and other platforms is welcome. Bugs or enhancements (preferably with patches) can be submitted to Other discussion/questions can be sent to the mailing lists or