Commit Graph

13132 Commits

Author SHA1 Message Date
Alexander A. Klimov 50fee6aeb9 Icinga DB: include amount of history kept in memory in /v1/status 2022-03-02 16:39:37 +01:00
Alexander A. Klimov ad0fe764f7 Icinga DB: log amount of history kept in memory every 10s 2022-03-02 16:39:37 +01:00
Alexander A. Klimov 8ea62f7fc7 Icinga DB: keep history in memory until written to Redis
by putting the messages into a Bulker and retrying each chunk.
2022-03-02 16:39:37 +01:00
Alexander A. Klimov 9a8d388734 Introduce Bulker 2022-03-02 16:39:37 +01:00
Alexander Aleksandrovič Klimov e626cce1e7
Doc: Windows Dev Environment: correct reboot requirement
Building icinga2.sln via Visual Studio doesn't require compilation via MSBuild.exe.
2022-03-02 16:00:00 +01:00
Julian Brost ab70178bb3
Merge pull request #9266 from Icinga/feature/subscription
GHA: build RHEL and Amazon Linux
2022-03-02 09:09:07 +01:00
Alexander Aleksandrovič Klimov 3fee562e7a
Merge pull request #9256 from Icinga/bugfix/add-some-missing-locks
Add some missing locks to prevent data races
2022-03-01 16:12:50 +01:00
Alexander A. Klimov 3c75e09e99 GHA: preserve .rpm job names 2022-03-01 15:37:38 +01:00
Alexander A. Klimov b6d22345f2 GHA: build Amazon Linux 2022-03-01 13:13:38 +01:00
Alexander A. Klimov 799f451fc8 GHA: build RHEL 2022-03-01 13:13:38 +01:00
Alexander A. Klimov 8c0b118302 GHA: correct subscription packages repo 2022-03-01 13:13:38 +01:00
Alexander A. Klimov f6b194e9ae GHA: new subscription packages repo access token
with more permissions and URL-friendlier login name.
2022-03-01 13:13:38 +01:00
Alexander A. Klimov 9013ebf0fb GHA: explicitly specify whether $DISTRO packages require subscription
to have all info at one place in the file.
2022-02-28 16:36:16 +01:00
Julian Brost 9d3eba8383
Merge pull request #9259 from Icinga/bugfix/event-handler-spamming-8704
Checkable#ExecuteEventHandler(): don't outsource event command run twice
2022-02-25 16:51:31 +01:00
Yonas Habteab f00a3c9693 ConfigObject: Initialize local static var at declaration to ensure thread safety 2022-02-25 15:23:49 +01:00
Yonas Habteab fb21345bfd ConfigItem: Use atomic variables for notified and commited items count 2022-02-25 15:17:33 +01:00
Alexander A. Klimov 74935dad7b Checkable#ExecuteEventHandler(): don't outsource event command run twice
refs #8704
2022-02-24 14:03:57 +01:00
Yonas Habteab a0607aceff Fix compiler warnings don't move local variables 2022-02-22 17:51:43 +01:00
Alexander Aleksandrovič Klimov db321b9fcb
Merge pull request #9230 from Icinga/feature/installation-instructions
Update installation instructions for easier navigation on icinga.com
2022-02-21 16:38:42 +01:00
Alexander Aleksandrovič Klimov 9b35701526
Drop Ubuntu hirsute
It's EOL.
2022-02-21 13:20:38 +01:00
Alexander Aleksandrovič Klimov cf8923d628
Merge pull request #9016 from Napsty/nrpe-disable-logging
Add new check_nrpe parameter -D to disable logging to syslog
2022-02-21 12:19:56 +01:00
Julian Brost 5383df3c79
Merge pull request #9212 from Icinga/bugfix/multi-ido-notification-id
IDO: fix incorrect contacts in notification history with multiple IDO instances on a single node
2022-02-21 11:40:46 +01:00
Blerim Sheqa a759c1e451 Update installation instructions for easier navigation on icinga.com 2022-02-18 15:09:09 +01:00
Julian Brost 8e81faf3e0
Merge pull request #9221 from Icinga/bugfix/processcheckresult-dependency-deadlock
Prevent deadlock in ProcessCheckResult
2022-02-18 14:14:46 +01:00
Julian Brost 99008755b5
Merge pull request #9213 from Icinga/feature/icingadb-add-previous_soft_state-to-host_state-and-service_state-9210
IcingaDB: Add previous_soft_state to host_state and service_state
2022-02-18 14:09:35 +01:00
Julian Brost 3bb9cdb8cc Prevent deadlock in ProcessCheckResult
Without this commit, children and parents of a checkable were rescheduled on a
state change while holding the lock for the current checkable. If both ends of
a dependency are checked at the same time and both change state, they could end
up in a deadlock waiting for each other.

This commit fixes this problem by changing the code so that other checkables
are rescheduled only after releasing the lock for the current checkable.
2022-02-17 16:13:25 +01:00
Alexander A. Klimov c613e62454 IcingaDB: Add previous_soft_state to host_state and service_state
refs #9210
2022-02-14 11:32:46 +01:00
Julian Brost 7c9d0fff01 IDO: use per-instance notification_id in history
When there are multiple active IDO instances on the same node, before this
commit, all of them would share a single DbValue object for the notification_id
column of the icinga_contactnotifications table. This resulted in the issue
that one database references the notification_id in another database.

This commit fixes this by using a separate DbValue value for each IDO instance.
This needs a new signal as the existing OnQuery and OnMultipleQueries signals
perform the same queries on all IDO instances, but different queries are needed
here per instance (they only differ in the referenced DbValue). Therefore, a
new signal OnMakeQueries is added that takes a std::function which is called
once per IDO instance and can access callbacks to perform one or multiple
queries only on this specific IDO instance.
2022-02-10 16:36:35 +01:00
Alexander Aleksandrovič Klimov 8016b013ac
Merge pull request #9208 from Icinga/bugfix/gha-pin-windows-version
GitHub Actions: pin Windows Server version to 2019
2022-02-09 12:52:07 +01:00
Julian Brost 4c4731a461
GitHub Actions: pin Windows Server version to 2019 2022-02-04 14:09:52 +01:00
Alexander Aleksandrovič Klimov 948f70a175
Merge pull request #9203 from Icinga/probot/update-authors/master/d0c7dc86e1154e0233eb1e1a360bfc6a80d6c495
Update AUTHORS
2022-02-03 16:06:54 +01:00
Julian Brost 1b0ad099f1
Merge pull request #9154 from Icinga/bugfix/icingadb-reachabilitychangehandler-9143
Icinga DB: ensure is_reachable and severity don't miss updates
2022-02-03 14:53:51 +01:00
icinga-probot[bot] b767e92738
Update AUTHORS 2022-02-03 10:29:24 +00:00
Alexander Aleksandrovič Klimov d0c7dc86e1
Merge pull request #9197 from maggu/feature/db-extra-opts
ITL: Add --extra-opts parameter to the mysql and pgsql CheckCommand d…
2022-02-03 11:29:03 +01:00
Alexander A. Klimov 2ef3dd6a38 Checkable#ProcessCheckResult(): call Checkable::OnReachabilityChanged less often
Call it only on state changes to reduce no-op Redis/IDO updates a lot.

refs #9143
2022-02-03 11:12:53 +01:00
Alexander Aleksandrovič Klimov 74c98d338b
Merge pull request #9201 from Icinga/Al2Klimov-patch-6
GHA: drop CentOS 8
2022-02-02 16:06:59 +01:00
Alexander Aleksandrovič Klimov 0d5b733af6
GHA: drop CentOS 8
It's EOL.
2022-02-02 11:46:30 +01:00
Alexander Aleksandrovič Klimov 1265eb76cc
icinga2.service: depend on icingadb-redis.service if any
to prevent its shutdown until we've written everything.
2022-01-31 17:03:34 +01:00
Julian Brost 4491123f7f
Merge pull request #9198 from Icinga/Al2Klimov-patch-6
Doc: technical concepts: allow to change severity formula across Icinga 2 releases
2022-01-31 16:43:06 +01:00
Julian Brost 373ca14137
Merge pull request #9196 from Icinga/Al2Klimov-patch-4
Service#GetSeverity(): behave as the respective IDO query of Icinga Web
2022-01-31 16:35:49 +01:00
Alexander Aleksandrovič Klimov ff686792dd
Doc: technical concepts: allow to change severity formula across Icinga 2 releases
so nobody is surprised in that case.
2022-01-31 12:05:52 +01:00
C C Magnus Gustavsson a9b6b1dba0 ITL: Add --extra-opts parameter to the mysql and pgsql CheckCommand definitions 2022-01-31 11:40:04 +01:00
Alexander Aleksandrovič Klimov ff712f6b23
Service#GetSeverity(): behave as the respective IDO query of Icinga Web
which doesn't include host reachability.
2022-01-27 12:21:06 +01:00
Alexander A. Klimov 4c38715ef2 Checkable#ProcessCheckResult(): call Checkable::OnReachabilityChanged last
to ensure Checkable#IsReachable() returns correctly for dependency children inside OnReachabilityChanged().
That needs the dependency parent to be already in the correct state.

refs #9143
2022-01-25 13:33:46 +01:00
Alexander A. Klimov 84d09876b4 Icinga DB: ensure is_reachable and severity don't miss updates
refs #9143
2022-01-25 13:33:46 +01:00
Julian Brost 185fab3761
Merge pull request #9144 from Icinga/bugfix/icingadb-state-history
Icinga DB: don't write state history for ack/downtime/host problem changes
2022-01-20 12:00:24 +01:00
Alexander Aleksandrovič Klimov 711646a821
Merge pull request #9180 from Icinga/probot/update-authors/master/639091126244de83c8e8391bfd97523b96fd1015
Update AUTHORS
2022-01-19 15:25:46 +01:00
icinga-probot[bot] 8e13d37fbd
Update AUTHORS 2022-01-19 10:49:15 +00:00
Julian Brost 6390911262
Merge pull request #9123 from Icinga/bugfix/icinga2-crashes-when-sending-notifications-8186
Avoid "type" key in dicts being part of object state attrs
2022-01-19 11:48:40 +01:00
Alexander Aleksandrovič Klimov 30e1e8d3f4
Merge pull request #9152 from lrupp/patch-2
Additional GRANT options for MySQL
2022-01-19 10:39:16 +01:00