Just a little FYI.
I upgraded to Nagios 4.0.8 late last year and overall the experience was quite positive.
The object config files did not require updating, so it went pretty smoothly.
I did need to update things like notifications and service handler commands that relied on Nagios macros in environment variables, as Nagios 4.x no longer supports these environment variables.
Updating Nagios 3.4 -> 4.0.8 gave us 2 key improvements:
1. No more queue lag
Once the number of services being checked starts to go up, (roughly 600-800 checks per minute), there was a noticeable ‘lag’ between the time the check was scheduled, and the time it was actually run.
This lag was most evident when running external commands, but it was present for ordinary checks, too.
Typically, the lag was about 20s, although it varied from a few seconds to up to 50s.
After updating to Nagios 4.0.8, the queue lag is consistently between 0-1 seconds
2. No more ‘cumulative scheduling’ of checks
Nagios would schedule a new check, whenever the check was run.
What I noticed was that when a check was manually rescheduled, it would run in addition to the regular check and both checks would be rescheduled at the normal check_interval forever more. Actually, ‘forever' = 'until the next restart of Nagios’, which is fairly
frequent due to config changes anyway.
I did need to patch Nagios 4.0.8 a little, to get rid of excessive logging, and there was one problem I noticed in particular which was an interaction with the (excellent) livestatus broker module:
When rotating log files, livestatus would insert a message like this:
 TIMEPERIOD TRANSITION: 24x7;1;1
One such message for each configured timeperiod. Except that instead of one message, I was getting hundreds. The same was observed for
 SERVICE DOWNTIME ALERT: srv-test01;system-snmp;STARTED;Multiple Downtime Comments
Ie hundreds of such messages repeated, when there should only be one (per transition).
The fix is a combination of the these two:
However, I would suggest (as per my comment), that the patch for 673 should be:
I thought this information is of particular interest to users of check_mk livestatus, and hope that it is helpful.
All in all, the net result of the 4.0.8 upgrade was a Nagios system which was much more responsive to interactive commands, and I would recommend this upgrade to be worthwhile.
I have a Debian package for Nagios 4.0.8, which I can make available.
George Hansper | Senior Linux Systems Administrator