Julian Brost
f4b2bbc7af
Merge pull request #8940 from Icinga/bugfix/redisconnection-reset-callback
...
RedisConnection: copy callback before calling it
2021-07-28 15:19:26 +02:00
Julian Brost
9d5ae0f6fa
Merge pull request #8899 from Icinga/feature/icingadb-connect_timeout
...
Introduce IcingaDB#connect_timeout
2021-07-28 13:52:00 +02:00
Julian Brost
cc8d3fbedd
Merge pull request #8937 from Icinga/bugfix/timeout-always-unknown
...
Override exit code on process timeout
2021-07-28 11:56:42 +02:00
Julian Brost
4c7199fd7d
RedisConnection: copy callback before calling it
...
This allows the callback to call RedisConnection::SetConnectedCallback() to set
another callback for this connection. This sets m_ConnectedCallback and thereby
destroys the std::function while it's running resulting in undefined behavior.
By operating on a copy, m_ConnectedCallback can be set without affecting the
currently running callback.
2021-07-28 11:34:17 +02:00
Noah Hilverling
ff2abaa687
Merge pull request #8917 from Icinga/bugfix/idb-state-del-prio
...
Icinga DB: HDEL from *:state with same prio as HSET
2021-07-28 11:08:10 +02:00
Alexander A. Klimov
0919df5aa1
Introduce IcingaDB#connect_timeout
2021-07-27 21:59:09 +02:00
Alexander A. Klimov
504fdda76c
Introduce DEFAULT_CONNECT_TIMEOUT
2021-07-27 21:57:02 +02:00
Alexander Aleksandrovič Klimov
9169c805a8
Merge pull request #8933 from Icinga/bugfix/icinga-db-only-start-multiple-redis-connections-after-the-first-one-succeeded-8920
...
Icinga DB: only start multiple Redis connections after the first one succeeded
2021-07-27 21:52:21 +02:00
Alexander Aleksandrovič Klimov
4d2f694805
Merge pull request #8897 from Icinga/feature/icingadb-pass-db
...
RedisConnection: AUTH and SELECT
2021-07-27 21:51:46 +02:00
Alexander Aleksandrovič Klimov
2d75bbd8ed
Merge pull request #8915 from Icinga/bugfix/icingadb-prio-state
...
Icinga DB: priorize state > config
2021-07-27 20:22:26 +02:00
Noah Hilverling
dcb5fcc7ba
Merge pull request #8923 from Icinga/bugfix/idb-del-icinga-nextupdate-
...
Icinga DB: DEL icinga:nextupdate:* along with the other keys to delete
2021-07-27 19:05:43 +02:00
Noah Hilverling
07cb6cd1cb
Merge pull request #8930 from Icinga/bugfix/wq-balance
...
WorkQueue#ParallelFor(): optionally don't pre-glue items together to chunks of different size
2021-07-27 19:05:26 +02:00
Julian Brost
42eb055c5f
Merge pull request #8921 from Icinga/bugfix/timeperiod-dst
...
TimePeriod/ScheduledDowntime: improve DST handling
2021-07-27 18:11:34 +02:00
Noah Hilverling
07145d2e61
Merge pull request #8913 from Icinga/feature/remove-child-downtimes
...
API Action "remove-downtime": Also remove child downtimes
2021-07-27 18:02:15 +02:00
Julian Brost
a55939e462
Override exit code on process timeout
...
As Icinga first sends a SIGTERM to a check plugin on timeout to allow it to
terminate gracefully, this is not really part of the plugin API specification
and we cannot assume that plugins will handle this correctly and still exit
with an exit code that maps to UNKNOWN. Therefore, once Icinga decides to kill
a process, force its exit code to 128 to be sure the state will be UNKNOWN
after a timeout.
2021-07-27 17:57:19 +02:00
Alexander A. Klimov
e45b43a4d9
Icinga DB: only start multiple Redis connections after the first one succeeded
...
refs #8920
2021-07-27 12:21:04 +02:00
Alexander A. Klimov
e1e8ec2ea2
RedisConnection: AUTH and SELECT
...
... or PING to trigger NOAUTH.
2021-07-27 12:05:27 +02:00
Alexander Aleksandrovič Klimov
93571d45f6
Merge pull request #8934 from Icinga/feature/split-gha
...
Split GitHub actions
2021-07-27 10:16:07 +02:00
Alexander A. Klimov
0e038a0916
Split GitHub actions
...
... to allow to re-run a minimum.
2021-07-26 17:38:33 +02:00
Alexander A. Klimov
fcda3a7283
Icinga DB: HDEL also icinga:checksum:*:state, not only icinga:*:state
...
... as they belong together.
2021-07-26 17:35:56 +02:00
Alexander A. Klimov
392fd8a75c
Icinga DB: HDEL from *:state with same prio as HSET
...
... to ensure the right modifications order per key.
2021-07-26 17:30:38 +02:00
Alexander A. Klimov
ae9b371128
Icinga DB: priorize state > config
...
I.e. do the following in parallel (highest priority first):
* Stream state changes to icinga:runtime:state
* Sync config and initial state,
then let queued runtime updates to the just synced state pass
2021-07-26 16:39:18 +02:00
Julian Brost
d07d48b169
Add tests for DST handling in TimePeriods and ScheduledDowntimes
2021-07-26 16:09:20 +02:00
Alexander Aleksandrovič Klimov
9684fe8141
Merge pull request #8544 from Icinga/feature/icingadb-tls
...
Icinga DB: support TLS
2021-07-26 15:50:52 +02:00
Alexander A. Klimov
497a8dd993
Icinga DB: DEL icinga:nextupdate:* along with the other keys to delete
...
... not on config dump finish.
2021-07-26 11:44:21 +02:00
Alexander A. Klimov
8731d84299
WorkQueue#ParallelFor(): optionally don't pre-glue items together to chunks of different size
...
... to equally distribute the load across the workers.
2021-07-26 11:40:43 +02:00
Alexander Aleksandrovič Klimov
284c591f3c
Merge pull request #8918 from Icinga/bugfix/idb-del-chksm
...
Icinga DB: HDEL also icinga:checksum:*, not only icinga:*
2021-07-23 16:42:09 +02:00
Noah Hilverling
7217959206
API Action 'remove-downtime': Also remove child downtimes
2021-07-23 13:53:44 +02:00
Alexander A. Klimov
8a30657ce9
Icinga DB: write state updates to icinga:runtime:state
...
... allowing the Go daemon to priorize state updates.
2021-07-23 11:52:28 +02:00
Peter Eckel
4ca496e677
[ITL] Added the option to set PGCONTROLDATA for check_postgres
2021-07-22 17:24:37 +02:00
Peter Eckel
0a063cfdcc
[ITL] Added --proxy for check_ssl_cert
2021-07-22 16:57:00 +02:00
Julian Brost
4273f30157
LegacyTimePeriod: Prevent modification of input parameters
...
Many functions of LegacyTimePeriod take a tm pointer as an input parameter and
then pass it to mktime() which actually modifies it. This causes problems if
tm_isdst was intentionally set to -1 (to automatically detect whether DST is
active at some time) and then a function is called that implicitly sets
tm_isdst and then the values of tm are modified in a way that crosses a DST
change. This resulted in 1 hour offsets with ScheduledDowntimes on days with
DST changes.
2021-07-22 15:17:06 +02:00
Alexander A. Klimov
37e53eaa68
Icinga DB: support TLS
2021-07-22 14:34:07 +02:00
Alexander A. Klimov
50bc7a7f3d
Icinga DB: HDEL also icinga:checksum:*, not only icinga:*
2021-07-22 14:13:12 +02:00
Alexander A. Klimov
7f7637c9b8
Introduce DEFAULT_TLS_CIPHERS and DEFAULT_TLS_PROTOCOLMIN
2021-07-22 11:12:33 +02:00
Alexander A. Klimov
80a1128ec7
Introduce SetupSslContext()
2021-07-22 11:12:33 +02:00
Alexander A. Klimov
fbcaf82e3e
InitSslContext(): fall back to default root CAs
2021-07-22 11:12:33 +02:00
Alexander A. Klimov
2728603c29
Rename SetupSslContext() to InitSslContext()
2021-07-22 11:12:33 +02:00
Alexander Aleksandrovič Klimov
2b04e0a754
Merge pull request #8894 from Icinga/bugfix/icinga-db-redis-connection-logging-spam-8883
...
RedisConnection: log info messages only once
2021-07-21 18:00:24 +02:00
Alexander Aleksandrovič Klimov
d073d2268e
Merge pull request #8719 from Icinga/feature/influxdb-2-8711
...
Introduce Influxdb2Writer
2021-07-21 17:59:58 +02:00
Alexander Aleksandrovič Klimov
0ddffb194f
Merge pull request #8721 from Icinga/feature/bullseye
...
GitHub actions: also build on Debian Bullseye
2021-07-21 17:59:27 +02:00
Alexander A. Klimov
da922ca157
RedisConnection: log info messages only once
...
refs #8883
2021-07-20 17:52:12 +02:00
Alexander Aleksandrovič Klimov
2fbaf933bc
Merge pull request #8634 from Icinga/feature/icingadb-stats-log
...
RedisConnection: log actual query performance
2021-07-20 17:46:57 +02:00
Alexander A. Klimov
f924800853
GitHub actions: also build on Debian Bullseye
2021-07-20 16:47:32 +02:00
Alexander A. Klimov
9d4b0f1268
Introduce Influxdb2Writer
...
refs #8711
2021-07-20 16:21:36 +02:00
Alexander A. Klimov
d26aa9fb34
InfluxdbCommonWriter: abstract InfluxdbWriter
...
refs #8711
2021-07-20 16:21:36 +02:00
Michael Insel
da394b2ab0
Implement scheduling_source attribute ( #6326 )
...
* Implement scheduling_source attribute
This implements the attribute `scheduling_source` for hosts and services to show which endpoint is running the scheduler for the check.
refs #4814
2021-07-20 11:10:26 +02:00
Alexander A. Klimov
67c4ebedd3
Combine all Redis connections' logs
2021-07-16 18:50:41 +02:00
Alexander A. Klimov
e6a9631a02
Icinga DB: silence WorkQueue performance
2021-07-16 18:50:41 +02:00
Alexander A. Klimov
82c3827b66
RedisConnection: log actual query performance
2021-07-16 18:50:41 +02:00