We couldn’t be happier and are proud to announce the final release of Icinga DB today. After many years of development and one or the other setback on the way to the release, we are proud to finally hand you the final version of Icinga DB for your monitoring environment.
What is Icinga DB
Icinga DB is the new data backend for Icinga and will replace the IDO as the central data store in the medium term. Icinga DB is not a single central component, but consists of different architectural modules.
While Redis takes care of storing all volatile data like check results etc., we continue to rely on a MySQLish or PostgreSQL database to store structural information and historical data. The data from different data sources is transparently converged in the web interface to ensure fast access to all monitoring information even with complex access rules and a large number of objects.
Why Icinga DB
Right from the start, the goal of development was to equip Icinga for the needs of the future. Especially in large environments, our previous database backend IDO repeatedly presented us with major challenges. However, it became clear to us during development that we cannot simply optimize the data model, but have to fundamentally rethink it. Separating the volatile and historical data proved to be the right model.
At the same time, we have always found it difficult in the past to cut old habits because compatibility with existing installations was and still is important to us. Since Icinga is more than just a monitoring core and the web interface, but consists of a large number of components for many users, not only an update of the database was necessary, but also a revision of all existing modules. We have done this work in the last few months and so all Icinga modules are compatible with Icinga DB.
Icinga DB gave us the chance to redesign the web interface and not “just” exchange the data providers. We are giving you, our users, new opportunities to look at and discover infrastructure monitoring differently. Different Icinga instances can already write to a single Icinga DB and are displayed in the web interface. Based on this, the feature set will be expanded over the next few months.
Icinga DB and thus the corresponding packages are now available and we look forward to your feedback. Our documentation explains in detail how you can install Icinga DB and, if necessary, migrate the existing legacy data to the new database schema. Of course, both backends can also be operated in parallel.
On a single node setup, you need to install the following components to get started:
- Icinga 2 (>= v2.13.4)
- Icinga Web 2 (>= v2.9)
- Redis (>= 6.2)
- Icinga DB (Documentation)
- Icinga DB Web (Documentation)
On a Debian 11 for example, the required packages are installed as follows:
# Update Icinga 2 and Icinga Web, if necessary apt update apt upgrade # Install Redis, Icinga DB and Icinga DB Web apt install icingadb icingadb-redis icingadb-web # Start Icinga DB # Make sure to configure DB credentials in /etc/icingadb/config.yml first systemctl enable --now icingadb # Enable the Icinga DB Feature for Icinga 2 icinga2 feature enable icingadb # Enable Icinga Web DB icingacli module enable icingadb # Create a new Icinga Web resource for the Icinga DB database
Wait, there’s more!
We’re releasing at the same time new minor versions of Icinga 2 and Icinga Web. They come with some adjustments required for Icinga DB, but also include a couple of bug fixes not related to Icinga DB. Check out the full Changelog:
We are eager to get your feedback on Icinga DB! Please don’t hesitate to reach out and share your experience with us. You can do this by either opening issues on GitHub, create a topic in our Community Forum or even use our general Contact Form.