Skip to content

Releases: Icinga/icingadb

Icinga DB 1.5.1

15 Dec 14:58
v1.5.1
7a66f3a

Choose a tag to compare

This Icinga DB release addresses the issue of leaking SQL prepared statements when Icinga DB is configured as a source for Icinga Notifications.

Each time the custom variables for an Icinga Notifications event were fetched, a new prepared statement was executed by the database. Unfortunately, this prepared statement was not closed, resulting in an increasing number of open prepared statements until the database refuses to create any more. This effectively blocked both Icinga DB and potentially the entire database management system.

This bug does not affect those who are not using the Icinga Notifications source.

Additionally, dependencies were updated.

  • Close Prepared Statement in Icinga Notifications Source. #1051
  • Use icinga/icinga2:edge container image for testing. #1048
  • Update dependencies. 11 times

Icinga DB v1.5.0

19 Nov 15:28
v1.5.0
4996989

Choose a tag to compare

The focus of this Icinga DB release is an integration with Icinga Notifications, which allows Icinga DB to act as an Icinga Notifications source. With the new notifications configuration set, Icinga DB forwards events to Icinga Notifications.

Additionally, maintenance work was completed. The most notable changes are as follows.

  • Introduce notifications to let Icinga DB forward events to Icinga Notifications. #998
  • Use a dedicated SQL connection for schema imports to prevent side effects on future queries. #1008
  • Modernize the Go codebase. #1013, #1026
  • Document PostgreSQL user usage for schema upgrades. #991

SELinux Policy

The Icinga DB SELinux package, icingadb-selinux, has a new SELinux boolean, icingadb_can_connect_all, which allows outgoing TCP connections, such as to Icinga Notifications.

When Icinga DB is used as an Icinga Notifications source, it submits events to the Icinga Notifications API. However, by default, Icinga DB's SELinux policy forbids outgoing TCP connections except to the relational database and Redis®. To enable event submission to Icinga Notifications, please set the icingadb_can_connect_all SELinux boolean.

Note that the icingadb-selinux package is only available for Amazon Linux, Fedora, RHEL, openSUSE, and SLES.

Icinga DB v1.4.0

18 Jun 14:41
v1.4.0
c271de7

Choose a tag to compare

This Icinga DB release introduces support for Icinga 2 dependencies, continues to retry certain long-persisting errors, and tweaks the logging.

Other changes and bug fixes were made as well. The most notable changes are as follows.

  • Synchronize Icinga 2 dependencies to Icinga DB for visualization in Icinga DB Web. #889
  • Do not time out when reconnecting to the database or Redis®* if a connection was previously established. #960, Icinga/icinga-go-library#131
  • Instead of a stack trace, abort icingadb on expected fatal errors with a descriptive log message. #944
  • When logging to journald, include errors in the log message as well as in the journald fields. Icinga/icinga-go-library#126
  • Rework log levels and include more context for debugging. #940, #944, Icinga/icinga-go-library#124
  • Ensure consistency between data written to Redis® and the database by getting rid of unnecessary value mapping. #964
  • Fix bugs in the icingadb-migrate utility and ensure compatibility with MariaDB ≥11.7. #957, #959, #975, #976
  • Improve the documentation, including new sections on container installation and operations. #939, #942, #948, #950, #951, #981, #983

Requirements

Version 1.4.0 of Icinga DB is released alongside Icinga 2.15.0 and Icinga DB Web 1.2.0. Since this Icinga DB release requires Icinga 2.15.0 or later, please install these updates together.

The required minimum versions of the MySQL/MariaDB server has increased:

  • MySQL must be version 8.0 or later.
  • MariaDB must be version 10.2.2 or later.

More information is available in the upgrading documentation.

Schema

The 1.4.0.sql schema upgrade is available and must be applied. Please follow the schema upgrade documentation.

SELinux Packages

With this Icinga DB release, two new SELinux packages are now available for Amazon Linux, Fedora, RHEL, OpenSUSE, and SLES. The new icingadb-selinux and icingadb-redis-selinux packages contain SELinux policies to be used for Icinga DB and Icinga DB Redis®, respectively. If you are using SELinux with one of the listed distributions, please consider installing these packages.

Icinga DB v1.3.0

03 Apr 12:39
v1.3.0
a3bfecb

Choose a tag to compare

This is a maintenance release, integrating the container setup directly into Icinga DB.

Most importantly, first-class support for configuring Icinga DB completely via environment variables has been added alongside YAML. In addition, an optional automatic database schema import has been added, allowing an empty SQL database to be populated. With these two features, the docker-icingadb repository can now be sunsetted, integrating the Containerfile directly into the main repository.

For Docker users of Icinga DB, the following has changed.

The changes are as follows.

  • Support loading configuration from both YAML files and environment variables. #831
  • Allow database schema import via command line argument flag. #901
  • Create and publish container images from the icingadb repository. #912
  • Log essential HA events and the startup message regardless of the log level. #920
  • Resolve SQL errors with reserved names in icingadb-migrate on older PostgreSQL versions. #885

Icinga DB v1.2.1

18 Dec 13:27
v1.2.1
1fa2361

Choose a tag to compare

This is a maintenance release that addresses HA issues and includes a number of other fixes.

Most prominent, crashes caused by an invalid HA state were investigated and fixed mainly by the following changes.

  • Ensure that the crucial HA realization logic is always aborted when its timeout is reached. #800
  • Give up the HA leadership role if it seems another node is also active. #825
  • Reduce database deadlocks in the HA realization domain with exclusive locking. #830

Other notable changes include the following:

  • ACL and database support for Redis®*. #874, icinga-go-library#50, icinga-go-library#52
  • Alter the database schema to allow longer user input. #779, #792, #856
  • Mitigate some NULL values for icingadb-migrate. #767
  • Retry certain database errors for PostgreSQL. icinga-go-library#59
  • Retry Redis® timeout errors for XREAD. icinga-go-library#23
  • Additional tests were written. #771, #777, #803, #806, #807, #808
  • Parts of the code have been moved to our icinga-go-library for use by our other Go daemons. #747
  • Update dependencies. 26 times

Schema

A schema upgrade is available that allows longer user input as listed above.
Please follow the upgrading documentation.

Icinga DB v1.2.0

11 Apr 13:57
v1.2.0
a0a65af

Choose a tag to compare

This release addresses multiple issues related to fault recoveries, with a particular focus on retryable database errors that may occur when using Icinga DB with database clusters.

Since there may be a large number of errors that are resolved by retrying after a certain amount of time, #698 changed the retry behavior to retry every database-related error for five minutes. This helps Icinga DB survive network hiccups or more complicated database situations, such as working with a database cluster.

The latter was specifically addressed in #711 for Galera Clusters on MySQL or MariaDB by configuring wsrep_sync_wait on used database sessions. Galera users should refer to the Configuration documentation for more details.

In summary, the most notable changes are as follows:

  • Custom Variables: Render large numbers as-is, not using scientific notation. #657
  • Enhance retries for database errors and other failures for up to five minutes. #693, #698, #739, #740
  • MySQL/MariaDB: Use strict SQL mode. #699
  • MySQL/MariaDB Galera Cluster: Set wsrep_sync_wait for cluster-wide causality checks. #711
  • Don't crash history sync in the absence of Redis®*. #725
  • Update dependencies. 27 times

Schema

In addition to mandatory schema upgrades, this release includes an optional upgrade that can be applied subsequently. Details are available in the Upgrading documentation and #656.

All schema changes are listed below:

  • Allow host and service check attempts >= 256. #656
  • Composite INDEX for the history table to speed up history view in Icinga DB Web. #686
  • MySQL/MariaDB: Fix icingadb_schema.timestamp not being Unix time. #700
  • PostgreSQL: Change get_sla_ok_percent to return decimal numbers in SLA overview. #710

Icinga DB v1.1.1

09 Aug 08:18
v1.1.1
6c8b52f

Choose a tag to compare

This release fixes a few crashes in the Icinga DB daemon, addresses some shortcomings in the database schema,
and makes the icingadb-migrate tool handle malformed events and other edge-cases more reliably.

  • Fix a possible crash when the Icinga 2 heartbeat is lost. #559
  • Retry additional non-fatal database errors. #593 #583
  • Make heartbeat compatible with Percona XtraDB Cluster. #609
  • Write a hint for empty arrays/dicts into customvar_flat for Icinga DB Web. #601
  • Warn about unknown options in the daemon config file. #605 #631
  • Don't log a port number for UNIX socket addresses. #542
  • Fix some custom JSON encode functions for null values. #612
  • Documentation: add TLS options to icingadb-migrate example config. #604
  • Documentation: Replace apt-get with apt. #545
  • Update dependencies. #548 #549 #588 #589 #590 #594 #595 #596 #598 #599 #603 #632

Schema

  • Allow longer names for notification objects. #584
  • Add missing indices to hostgroup, servicegroup, and customvar_flat. #616 #617
  • Change sort order of history event types. #626

icingadb-migrate

  • Ignore events that miss crucial information. #551
  • Fix a foreign key error for flapping history with ido.from set. #554
  • Fix a constraint violation for flexible downtimes that never started. #623
  • Show an error for unknown options in the config file. #605

Icinga DB v1.1

14 Nov 10:58
v1.1.0
a0093d1

Choose a tag to compare

This release adds a tool for migrating history from IDO. Apart from that, it reduces RAM usage and includes updated dependencies.

Icinga DB v1.0

30 Jun 14:01
v1.0.0
0061888

Choose a tag to compare

The first stable release! 🎉

Check the announcement on our blog for the juicy details: https://icinga.com/blog/2022/06/30/finally-accomplished-icinga-db-released/

Icinga DB v1.0-RC2

12 Nov 18:15
v1.0.0-rc2
27c7ea2

Choose a tag to compare

Icinga DB v1.0-RC2 Pre-release
Pre-release

Second release candidate.

To install Icinga DB, please read the installation documentation.
If you have installed Icinga DB RC1, please read the upgrading documentation.