Our friends from the Max-Planck-Institut for Marine Mikrobiologie kindly sponsored that acknowledgement notifications are now sent only to users which have been notified about a problem before – thanks a lot. Another sponsor asked for more child options for the ScheduledDowntime which are now released in 2.10.
2.10 also brings support for namespaces and allows us to keep the “globals” namespace clean. In addition to that, user-defined namespaces are possible and can be imported into the global namespace too. Read more about this feature here. An additional DSL feature is the support for references. You’ll also find new fine granular path constants in this release, e.g. ConfigDir instead of SysconfDir + “/icinga2”. The old constants are still intact but deprecated.
As promised in the 2.9.2 release post, we’ve been debugging TLS connection handling with many threads and TLS timeouts in large scale environments. This release adds a dynamic thread connection pool for both, cluster messages and HTTP requests. With the performance boost granted, we’ve also lowered the cluster reconnect interval from 60 to 10 seconds. This ensures that configuration deployments triggering a reload don’t leave clients behind.
This release also fixes a problem with hanging connections with the “Connection: close” header, and HTTP/1.0 requests. During problem analysis, we’ve also improved the logging for disconnected HTTP clients, and HTTP requests which log the full request body to the debug log. Thanks for testing to our friends from T-Systems MMS :)
Community contributors have added even more: Thomas from our partner Würth Phoenix fixed a problem with API config packages and validation paths, Jordi went for dependencies which rescheduled parent checks too fast, Alan fixed logging with systemd and syslog, Michal added new ITL CheckCommands for ceph and cloudera health checks, and Peter silenced logging for missing environment macro values which are optional, thanks a lot to every contributor making this release great! :)
Set aside the features and fixes, the configuration syntax highlighting wasn’t uptodate. I’m a heavy vim user, so I’ve updated the vim syntax highlighting quite a lot, including namespace support. You’ll also recognize that macro strings are now specifically highlighted. If you’re a nano hero, please help us out and send a PR :)
Last but not least, Icinga and its internals are sometimes hard to understand, especially when you start looking into the code, or are trying to troubleshoot something. The analysis from the TLS timeouts as well as config compiler changes in the recent weeks are reflected in the “Technical Concepts” chapter in the docs. We hope it helps new and old developers and those doing technical support.