Christmas brought you Dashing for Icinga 2 v1.1.0 and many things happened ever since. Community members joined the forums and issue tracker with questions and enhancement ideas. We’ve also had a hidden v1.2.0 release which added changes to the backend. Now it is time to focus on the frontend again with v1.3.0.

Better Layout

Dashing for Icinga 2 v1.3.0 changes and adopts the layout to use the space on larger screens more efficiently. It now uses 5 columns instead of 4. Further it only uses one row to highlight overall stats, unhandled problems and the Icinga Web 2 iframe if needed.

The problem list with just one row was way too small, so it is now changed to use 2 rows on the left. That way you really get a list of problems next to the visualization with numbers.

You’ll also notice that the row for acknowledged/downtime host/services is gone. This happened due to a community request to only count unhandled problems above. This totally makes sense, but was a leftover from an old implementation just using /v1/status details.

The fix in #24 now allows to count unhandled problems by state and updates the widgets accordingly. Having the counts for unhandled issues obsoletes big fat counters for ack/downtimes. These statistics are moved into a small widget in the first row and show the current numbers.

The patch from #27 fixes many other minor issues, be it alignment of widget titles, or better naming.

 

More Statistics and Metrics

The statistics widget is highlighted first and in addition to active host and service check metrics, you’ll again get the bonus of the running Icinga 2 version (fits perfectly beneath the logo, hehe).

If you are using the snapshot packages or will update to v2.7 once released, you’ll also recognise that the work queue item rates are highlighted there too. That means your dashboard tells you for example that IDO queries are fired. If that count is 0 for quite a while, something is wrong. More on the additional performance metrics can be found here.

 

Systemd and Logrotate

Dashing for Icinga 2 also provides a Systemd service file which makes it more easy to determine its status or restart the thin daemon. Thanks a lot, Klaus! He also contributed a logrotate configuration file which helps with huge setups.

 

Better Error Handling

Bodo suggested to retry API connects if connection failed. Previous this was just an ugly exception, and the code was far from perfect. This has been refactored into one generic query function which also provides the reconnect handling and advanced error logging. Some debug logging has been removed to reduce the noise.

Cannot execute request against 'https://localhost:5665/v1/status/IcingaApplication': 'Connection refused - connect(2)' (retry 1 / 30)

The default refresh interval has been changed to 10s. This avoids pulling data too often which is immediately outdated.

 

Update and Download

Make sure to backup any modifications you’ve made yourself and update to the new v1.3.0 version. The configuration did not change, but {dashboards,lib,jobs}/icinga2* did. You can test-drive the new version inside the Icinga Vagrant boxes.

If you have additional metrics you want to show or calculate, look into the Icinga 2 API and suggest patches to collect these data. Keep in mind though – a dashboard needs numbers, names and everything which is easy to read.

Thanks to everyone enhancing our Icinga 2 Dashing dashboard! :-)