Releasing Icinga DB v1.0 RC1

by | Mar 16, 2020

We have talked about it for a long time, but now it is here: The Icinga DB RC1

What’s the Icinga DB?

In case you managed to avoid all of the talk about it, Icinga DB is the replacement for our IDO (Icinga Data Output).
What does this mean for you? It means SPEED. Especially for larger environments.
So, what’s in the RC? It is basically a finished product. We want to give both you and us some time to test it out, find bugs and get comfortable with it.
There is a new Icinga DB feature in Icinga 2, a new database schema, a go daemon and a lot of functionality in Icinga Web.

Icinga 2 v2.12-RC1

The new Icinga 2 version comes with a new feature for Icinga DB. Once enabled, it writes all the required data to Redis from where they are processed afterwards. Additionally, we included some more into this version. The bugfix we introduced in Icinga 2.11.3 to fix JSON-RPC crashes is included in Icinga 2.12 as well as a fix for zone definitions within zones. Additionally we added the pki verify command for better TLS certificate troubleshooting.
We’re also enhancing our configuration language by introducing ternary operators (x ? y : z) and adding support for lambda closures (() use(x) => x and () use(x) => { return x }).

A web module too?

Yes! It also comes with a web module, which aims to replace the monitoring module. We suggest to run the two modules in parallel for a while and take advantage of a little helper we introduced with it, which makes the switch a lot easier for you.
Some of the new features are:

Multiple List Layouts

The new view switcher displayed in the controls of lists allows to change their layout. The majority of lists use this to switch between various levels of detail. The service list below for example uses it to show a check’s output at different lengths.

Cleaner Detail Views

A host’s or service’s detail view has been restructured to show more details but also to make more use of the available space. Important details also got moved to the top so that they are visible right away without having to scroll down.

Modal Dialogs

Acknowledging a problem, scheduling a downtime or sending a custom notification does not take you away from where you’ve been. Instead a modal dialog is shown on top of your current view.

Bulk Operations

If you ever wanted to perform really big bulk acknowledgements or downtime schedules, now is the time for it. Simply filter for the hosts or services you want to operate on and then select Continue with filter. No more shift-click nightmares! (Which are still possible, for the die-hard)

How does it work?

As we are introducing two new components into the main workflow, the Redis DB and the Go daemon, we are taking a lot of load from Icinga 2 itself.
Icinga no longer writes to MySQL, but into Redis instead. As Redis is an in-memory database, it offers a much faster experience than before.
From there the data is read and analysed by the daemon and written to MySQL via filters and checksums. This way MySQL only stores the important changes, for example, the event on which a state switched, instead of a thousand similar entries.
Icinga Web 2 mainly takes its data from MySQL, but is also able to read volatile data, such as check results, from the Redis database. This ensures that your data is always up-to-date and the queries run faster and smoother.

How do I try it out?

Please note that the releases announced here are release candidates and available in our testing repository on https://packages.icinga.com. You may have to update your repository configuration if you’re using Icinga already. All required steps are described in our Icinga DB documentation. You will have to upgrade your Icinga 2 to version 2.12-RC1 and your Icinga Web to version 2.8. Install the Icinga DB daemon and the corresponding web module.
Your feedback is very welcome! Please open issues in the related projects on GitHub:

 

You May Also Like…

Subscribe to our Newsletter

A monthly digest of the latest Icinga news, releases, articles and community topics.