Monitoring project Icinga just pushed out its 2.11 release, improving quality and stability with lots of under the hood changes.
The biggest of those has to be the rewritten network stack, which demanded a thorough evaluation of libraries and programming approaches from the Icinga team. While the earlier version was heavy on custom code and had some troubles with timeouts and connectivity, the new stack is based on Boost Asio, Beast, and coroutines that are also meant to improve the tool’s overall performance.
Another improved core component is reload handling, which is now done via an umbrella process managing the reload signal. To make that happen, the team had to add support for running the tool inside a Docker container natively in the foreground, which seems to have also been a community request.
With security on more and more people’s minds, Icinga 2.11 now “enforces TLS 1.2 as a minimum and also hardens the available cipher list by default”. It is also helpful that node wizard/setup, feature, and API setups now run in the Icinga user context instead of root.
Checks and notifications received some loving care as well, so that it is now ensured that restarts won’t hinder notifications from being sent out and admins also get a message should a problem still be present after downtime. Clusters meanwhile get some improvements in failover handling and configuration synchronisation.
Icinga was started as a fork of the well-known system monitoring tool Nagios in 2009 in an attempt to speed up development and better meet the community’s needs. The project is available under the GPLv2 license with commercial support subscriptions available.