If you have upgraded to Icinga Web 1.6 you may already be familiar with the new SLA extension in IDOUtils. The optional module is our response to the old niggle from the community that data written to database could be better used. So we have taken the opportunity to add a table to the database model and fiddle with IDO2DB. The end result is ‘enable_sla’ in your IDOUtils configuration files, which takes events and identifies the periods of scheduled downtime and acknowledgment for more accurate SLA reporting.

You could say, it improves SLA results too, by making it clearer, to what extent a critical event is actually critical or being resolved ;)

Coding and coordination aside, the concept behind the SLA extension is actually quite simple. We added a SLA history table to the database model, which organizes event start and end times, object id, state and state type as well as acknowledgement and scheduled downtime. Then in IDO2DB we added extra logic to write data from the core to the aforementioned table correctly.

At the moment you can view SLA data in the Icinga Web interface’s new tackle cronk, in the form of a pie chart. This is just the beginning though. We hope to integrate SLA history into Icinga Reporting with even more refined metrics.


So perhaps in the (not too far) future, you may be able to open up Icinga Reporting and call up a diagram that shows service availability for the year, though only from Monday – Friday, 9 am – 5 pm, discounting scheduled downtimes and acknowledgement periods. That maybe something worth waiting for – or even better, contributing to.