Releases: Icinga/icinga2
Icinga 2 v2.14.0
Notes
Upgrading docs: https://icinga.com/docs/icinga2/snapshot/doc/16-upgrading-icinga-2/#upgrading-to-2-14
Thanks to all contributors: atj, atwebm, cspeterson, cycloon, DamianoChini, efuss, fabieins, haxtibal, jaapmarcus, log1-c, lrupp, maggu, mcodato, Napsty, orbison, peteeckel, slalomsk8er, stevie-sy, Tqnsls
Breaking Changes
- Remove CheckResultReader (which has been deprecated since v2.9). #9714
- Remove StatusDataWriter (which has been deprecated since v2.9). #9715
- ElasticsearchWriter: drop support for Elasticsearch < v7. #9812
- Consider a checkable unreachable once one Dependency fails.
Previously all of them had to fail. (Consult the upgrading docs.) #8218 - API: reject config modifications during reload with HTTP status 503. #9445
icinga2 daemon
: to reduce config load time, write file needed by
icinga2 object list
only if--dump-objects
is given. #9586 #9591- Default email notification scripts: link to Icinga DB Web,
not the monitoring module. (Consult the upgrading docs.) #9742 #9757 - API: for security reasons hide TicketSalt in /v1/variables. #7863
Icinga 2 Config DSL
- Disallow global variable modification after config commit start (i.e.
insideobject/apply T "x" { ... }
) to reduce config load time. #9740 - Forbid Dependency cycles at config load time. #8389
- Allow only strings in the arrays Host#groups, Service#groups and
User#groups. Needed for consistency, especially by the IDO. #9057 - Disallow empty object names. (They worked only partially anyway.) #9409
Windows Agent only
The official MSIs don't include the following features anymore.
They weren't intended, tested or needed on Windows and only waste build time,
bandwidth and disk space. Both new installations and upgrades are affected.
- ElasticsearchWriter #9704
- GelfWriter #9704
- GraphiteWriter #9704
- InfluxdbWriter and Influxdb2Writer #9704
- OpenTsdbWriter #9704
- PerfdataWriter #9704
We also don't ship the following files anymore.
(You can still obtain them manually.)
On the other hand MSIs are now 75% smaller than before.
Enhancements
- Significantly reduce config load time of large setups.
#8118 #9555 #9557 #9572 #9577 #9603 #9608 #9627 #9648 #9657 #9662 - Allow to connect dependencies via redundancy groups. Only parents within
one group are assumed to provide redundancy for each other. #8218 - Built-in check command ifw-api, communicates directly with the Icinga for
Windows REST API. (Doesn't spawn a PowerShell process for that.) #9062 - JournaldLogger which logs to systemd journal. #9000
- API: POST /v1/objects: allow to discard some previously modified attributes,
i.e. to restore the config files' values. #9783 - ElasticsearchWriter: support Elasticsearch v8. #9812
- Support
$env.ENV_VAR_NAME$
macros. #8302 - Speed up Icinga DB config dump. #9524
- Default mail notification scripts: also print
$host.notes$
and$service.notes$
. #9713 - Enable built-in OpenSSL DH parameters to allow DHE TLS ciphers. #9811
- Clean up global default TLS cipher list to improve security. #9809
- Influxdb(2)Writer: write more precise timestamps (nanoseconds). #9599
Bugfixes
- Icinga DB feature: normalize several Redis data not to crash the Go daemon.
#9772 #9775 #9792 #9793 #9794 #9805 - Fix parsing of perfdata across multiple lines in plugin output. #8969
- icinga check: fix last reload failure time. #8429 #9827
- Resolve macros inside custom vars of IcingaApplication. #9779
- SELinux: allow Icinga and its plugins to write to syslog. #9688
- ElasticsearchWriter: fix data buffer flush race condition during stop. #9810
- Trigger flexible downtimes not in the past if checkable is already down. #9726
- Send downtime expiration notifications immediately, not after up to a minute. #9726
Cluster
- Don't hang in timed out connection attempt. #9711 #9725
- Fix lost acknowledgements after re-connect. #9718
- cluster-zone check: don't complain about not connected
other local zone members if there aren't any. #8595 - Allow agent to update executions delegated to it via /v1/actions/execute-command. #8627
API
- Disallow breaking inter-object relationships by changing
relationship attributes at runtime, e.g.Service#host_name
. #9407 - Correct several HTTP response status codes. #7958 #9354
- Correct Boolean field types previously reported by /v1/types as Number. #9514
CLI
icinga2 daemon
: fix -DConfiguration.Concurrency= flag
which now allows to override the number of threads. #9643icinga2 node wizard
: avoid unnecessary chown(2) which may fail and abort the wizard. #8744- Correct several log messages. #8895 #8965 #9663
ITL
Add linux_netdev
check command. #9045
Command Argument Changes
disk
: don't pass -m (disk_megabytes
) by default. #9642disk
: pass -X fuse.portal (disk_exclude_type
) by default. #9459http
: support multiple -k (http_header
) as array. #8574icmp
: double defaults for -w (icmp_wpl
) and -c (icmp_cpl
). #9041logfiles
: pass --winwarncrit (logfiles_winwarncrit
) without argument. #9056nwc_health
: pass SNMPv3-only args only when using SNMPv3. #9095vmware-esx-dc-runtime-tools
andvmware-esx-soap-vm-runtime-tools
:
rename--open-vm-tools
to--open_vm_tools_ok
(vmware_openvmtools
). #9611
New Command Arguments
Command | Argument | Custom Variable | PR |
---|---|---|---|
disk |
-P |
disk_inode_perfdata |
#9494 |
esxi_hardware |
--format |
esxi_hardware_format |
#9435 |
esxi_hardware |
--pretty |
esxi_hardware_pretty |
#9435 |
http |
--verify-host |
http_verify_host |
#8005 |
icingacli-businessprocess |
--ack-is-ok |
icingacli_businessprocess_ackisok |
#9103 |
icingacli-businessprocess |
--blame |
icingacli_businessprocess_blame |
#9103 |
icingacli-businessprocess |
--colors |
icingacli_businessprocess_colors |
#9103 |
icingacli-businessprocess |
--downtime-is-ok |
icingacli_businessprocess_downtimeisok |
#9103 |
icingacli-businessprocess |
--root-cause |
icingacli_businessprocess_rootcause |
#9103 |
mem |
-a |
mem_available |
#9385 |
mongodb |
--disable_retry_writes |
mongodb_disableretrywrites |
#9539 |
mongodb |
--ssl-ca-cert-file |
mongodb_ssl_ca_cert_file |
#9610 |
mysql |
--extra-opts |
mysql_extra_opts |
#9197 |
nrpe |
-3 |
nrpe_version_3 |
#9296 |
nrpe |
-D |
nrpe_no_logging |
#9016 |
nrpe |
-P |
nrpe_payload_size |
#9032 |
pgsql |
--extra-opts |
pgsql_extra_opts |
#9197 |
postgres |
$PGCONTROLDATA (env. var.) |
`postgres_pgcontroldata... |
Icinga 2 v2.13.8
Version 2.13.8 is a maintenance release that fixes some bugs,
especially Icinga DB crashes, and updates several bundled libraries.
Bugfixes
- Icinga DB feature: normalize several Redis data not to crash the Go daemon. #9814
- Don't hang in timed out connection attempt. #9815
- Trigger flexible downtimes not in the past if checkable is already down. #9817
- ElasticsearchWriter: fix data buffer flush race condition during stop. #9818
- SELinux: allow Icinga and its plugins to write to syslog. #9819
- Fix lost acknowledgements after re-connect. #9820
- Fix parsing of perfdata across multiple lines in plugin output. #9821
- cluster-zone check: don't complain about not connected
other local zone members if there aren't any. #9822
Updates
- Update Boost shipped on Windows to v1.82. #9816
- Update OpenSSL shipped on Windows to v3.0.9. #9816
- Update vendored https://github.com/nlohmann/json to v3.9.1. #9816
- Update vendored https://github.com/nemtrif/utfcpp to v3.2.3. #9816
Icinga 2 v2.13.7
This security release updates Boost and OpenSSL libraries bundled on Windows
and repairs broken SELinux policies. By the way it fixes several other bugs.
Security
- Windows: update bundled OpenSSL to v1.1.1t. #9672
Bugfixes
- SELinux: fix user and domain creation by explicitly setting the role. #9690
- Signal handlers: don't interrupt and break plugins spawning. #9682
- Icinga DB: take check_period into account during overdue calculation. #9679
- Avoid corrupted files: use fsync(2)/FlushFileBuffers() everywhere. #9681
- Solaris: fix compile error. #9680
Enhancements
Icinga 2 v2.12.10
This security release updates Boost and OpenSSL libraries bundled on Windows
and repairs broken SELinux policies.
Security
- Windows: update bundled OpenSSL to v1.1.1t. #9686
Bugfixes
- SELinux: fix user and domain creation by explicitly setting the role. #9689
Enhancements
- Windows: update bundled Boost to v1.81. #9686
Icinga 2 v2.13.6
The main focus of version 2.13.6 is improved performance of Icinga DB and apply rules.
Additionally, it includes bug fixes related to config loading and API permissions.
Bugfixes
- Improve the throughput of the Icinga DB feature. #9550
- Multiple changes to speed up evaluation of apply rules. #9559 #9565 #9558
- Fix a possible crash on config loading related to
ignore_on_error
. #9560 - Check API user permission on objects returned by joins. #9561
- Windows: update bundled Boost and OpenSSL versions. #9562 #9567
Icinga 2 v2.13.5
Version 2.13.5 is a maintenance release that fixes some bugs, improves logging and updates a bundled library.
Bugfixes
- Ensure not to write an incomplete (i.e. corrupt) state file. #9467
- ITL: Render vars.apt_upgrade=true as --upgrade, not --upgrade=true. #9458
- Icinga DB: Add missing Redis SELinux policy. #9473
- Windows: Don't spam the event log with non-error startup messages. #9457
- Windows: Update bundled version of OpenSSL. #9460
- Docs: Update RHEL 8 installation instructions. #9482
- Docs: Add RHEL 9 installation instructions. #9482
Icinga 2 v2.13.4
This release brings the final changes needed for the Icinga DB 1.0 release. Addtionally, it includes some fixes and a performance improvement resulting in faster config validation and reload times.
Bugfixes
- Fix a race-condition involving object attribute updates that could result in a crash. #9395
- After a host recovered, only send problem notifications for services after they have been rechecked afterwards to avoid false notifications. #9348
- Speed up config validation by avoiding redundant serialization of objects. #9400
- Add a
separator
attribute to allow using arguments like--key=value
as required by some check plugins. This fixes the--upgrade
and--dist-upgrade
arguments ofcheck_apt
. #9397 - Windows: Update bundled versions of Boost and OpenSSL. #9360 #9415
Icinga DB
- Add an
icingadb
CheckCommand to allow checking if Icinga DB is healthy. #9417 - Update documentation related to Icinga DB. #9423
- Fix a bug where history events could miss the environment ID. #9396
- Properly serialize attributes of command arguments when explicitly set to
null
. #9398 - Rename some attributes to make the database schema more consistent. #9399 #9419 #9421
- Make the error message more helpful if the API isn't set up #9418
Icinga 2 v2.12.9
This release includes some fixes and a performance improvement
resulting in faster config validation and reload times.
Bugfixes
Icinga 2 v2.12.8
In the previous version 2.12.7, one bugfix was applied incorrectly. This is fixed by this release.
Downtimes
- Scheduling downtimes for all children and all services no longer fails due to an object name conflict. Only version 2.11.7 was affected by this issue. #9349
Windows
- Update the bundled version of Boost to 1.79.0. #9359
Icinga 2 v2.13.3
This version includes bugfixes for many features of Icinga 2, including fixes for multiple crashes. It also includes a number of fixes and improvements for Icinga DB.
API
- The /v1/config/stages endpoint now immediately rejects parallel config updates instead of accepting and then later failing to verify and activate them. #9328
Certificates
- The lifetime of newly issued node certificates is reduced from 15 years to 397 days. #9337
- Compare cluster certificate tickets in constant time. #9333
Notifications
- Fix a crash that could happen while sending notifications shortly after Icinga 2 started. #9124
- Fix missing or redundant notifications after certain combinations of state changes happened while notifications were suppressed, for example during a downtime. #9285
Checks and Commands
- Fix a deadlock when processing check results for checkables with dependencies. #9228
- Fix a message routing loop that can happen for event commands that are executed within a zone using
command_endpoint
that resulted in excessive execution of the command. #9260
Downtimes
- Fix scheduling of downtimes for all services on child hosts. #9159
- Creating fixed downtimes starting immediately now send a corresponding notification. #9158
- Fix some issues involving daylight saving time changes that could result in an hour missing from scheduled downtimes. This fix applies to time periods as well. #9238
Configuration
- Fix the evaluation order of default templates when used in combination with apply rules. Now default templates are imported first as stated in the documentation and as it already happens for objects defined without using apply. #9290
IDO
- Fix an issue where contacts were not written correctly to the notification history if multiple IDO instances are active on the same node. #9242
- Explicitly set the encoding for MySQL connections as a workaround for changed defaults in Debian bullseye. #9312
- Ship a MySQL schema upgrade that fixes inconsistent version information in the full schema file and upgrade files which could have resulted in inaccurate reports of an outdated schema version. #9139
Performance Data Writers
- Fix a race condition in the InfluxDB Writers that could result in a crash. #9237
- Fix a log message where Influxdb2Writer logged as InfluxdbWriter. #9315
- All writers no longer send metrics multiple times after HA failovers. #9322
Build
- Fix the order of linker flags to fix builds on some ARM platforms. #9164
- Fix a regression introduced in 2.13.2 preventing non-unity builds. #9094
- Fix an issue when building within an unrelated Git repository, version information from that repository could incorrectly be used for Icinga 2. #9155
- Windows: Update bundled Boost version to 1.78.0 and OpenSSL to 1.1.1n #9325
Internals
- Fix some race conditions due to missing synchronization. These race conditions should not have caused any practical problems besides incorrect numbers in debug log message. #9306
- Move the startup.log and status files created when validating incoming cluster config updates to /var/lib/icinga2/api and always keep the last failed startup.log to ease debugging. #9335
Icinga DB
- The
severity
attribute was updated to match the sort order Icinga Web 2 uses for the IDO. The documentation for this attribute was already incorrect before and was updated to reflect the current functionality. #9239 #9240 - Fix the
is_sticky
attribute for comments. #9303 - Fix missing updates of
is_reachable
andseverity
in the state tables. #9241 - Removing an acknowledgement no longer incorrectly writes comment history. #9302
- Fix multiple issues so that in an HA zone, both nodes now write consistent history. #9157 #9182 #9190
- Fix that history events are no longer written when state information should be updated. #9252
- Fix an issue where incomplete comment history events were generated. #9301
Note: when removing comments using the API, the dedicated remove-comment action should be used instead of the objects API, otherwise no history event will be generated. - Fix handling of non-integer values for the order attribute of command arguments. #9181
Note: You should only specify integer values for order, other values are converted to integer before use so using fractional numbers there has no effect. - Add a dependency on icingadb-redis.service to the systemd service file so that Redis is stopped after Icinga 2. #9304
- Buffer history events in memory when the Redis connection is lost. #9271
- Add the previous soft state to the state tables. #9214
- Add missing locking on object runtime updates. #9300