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
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 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
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
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 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
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
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
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
da922ca157
RedisConnection: log info messages only once
...
refs #8883
2021-07-20 17:52:12 +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
Julian Brost
f17b97fd7e
Merge pull request from GHSA-wrpw-pmr8-qgj7
...
Remove passwords from API
2021-07-15 11:12:29 +02:00
Alexander Aleksandrovič Klimov
bad8059969
Merge pull request #8761 from Icinga/feature/icingadb-perfdata
...
Icinga DB: introduce icinga:*:state#normalized_performance_data
2021-07-07 12:29:21 +02:00
Noah Hilverling
ef73136076
Merge pull request #8830 from Icinga/feature/idb-passive-overdue
...
Icinga DB: no active checks? Not overdue!
2021-07-07 11:15:04 +02:00
Alexander A. Klimov
9d1a112edf
Icinga DB: introduce icinga:*:state#normalized_performance_data
2021-07-05 19:05:32 +02:00
Julian Brost
401d3cdc9e
Remove passwords from API
...
IdoMysqlConnection, IdoPgsqlConnection, IcingaDB, and ElasticsearchWriter
require passwords in their configuration to authenticate against external
services. This commit ensures that these can no longer be accessed using the
API.
2021-07-05 15:09:54 +02:00
Alexander Aleksandrovič Klimov
b07d181c4a
Merge pull request #8631 from Icinga/feature/icingadb-scheduleddowntime
...
Icinga DB: introduce icinga:downtime#scheduled_by
2021-06-30 19:03:53 +02:00
Alexander Aleksandrovič Klimov
00af435c13
Merge pull request #8725 from Icinga/bugfix/icingadb-serialize-leaves
...
Icinga DB: serialize icinga:config:checkcommand:argument#value and #set_if as expected
2021-06-29 17:51:41 +02:00
Alexander Aleksandrovič Klimov
b2c3ff6b27
Merge pull request #8638 from Icinga/feature/icingadb-multi-conns
...
Icinga DB: use one Redis connection per config object type
2021-06-23 18:01:04 +02:00
Alexander A. Klimov
190e2f8fd9
Icinga DB: introduce icinga:downtime#scheduled_by
2021-06-23 16:49:19 +02:00
Julian Brost
b8218a3c0e
IcingaDB::UpdateAllConfigObjects: explicitly capture variables in lambda
2021-06-15 11:52:53 +02:00
Alexander A. Klimov
9c567c0bde
Icinga DB: no active checks? Not overdue!
2021-06-08 19:17:03 +02:00
Alexander A. Klimov
d1e15a220c
Icinga DB: use one Redis connection per config object type
2021-06-08 17:52:04 +02:00
Julian Brost
9f6cbc38f2
Merge pull request #8754 from Icinga/feature/icingadb-replace-lua-with-xadd-maxlen
...
Icinga DB: Use XADD ... MAXLEN 1 instead of a custom Lua script
2021-06-04 13:52:30 +02:00
Noah Hilverling
8150b0656e
Merge pull request #8764 from Icinga/bugfix/icingadb-change-id-fields-to-match-sql-schema
...
Icinga DB: Change ID fields to match SQL schema
2021-05-20 10:44:55 +02:00
Noah Hilverling
898e7fdf35
Icinga DB: Change ID fields to match SQL schema
2021-05-19 17:01:08 +02:00
Noah Hilverling
fb89c88ca9
Icinga DB: Replace global keys spacer '_' with ':' to fit new schema
2021-05-18 08:58:52 +02:00
Eric Lippmann
c0cbc4533c
Fix group member keys
2021-05-07 08:41:38 +02:00
Noah Hilverling
4005d81a43
Icinga DB: Sync state using runtime updates
2021-05-07 08:41:38 +02:00
Noah Hilverling
ab04a4ee98
Icinga DB: Sync runtime updates using streams
2021-05-07 08:41:38 +02:00
Julian Brost
a5dc52dea5
IcingaDB: use XADD MAXLEN instead of custom Lua script for heartbeats
...
The existing Lua script adds a new entry to a stream and then deletes all older
entries. The same can be achieved by using `XADD ... MAXLEN 1`.
2021-05-03 17:21:11 +02:00
Julian Brost
9dd210df84
IcingaDB: use XADD MAXLEN instead of custom Lua script for dump signals
...
The existing Lua script adds a new entry to a stream and then deletes all older
entries. The same can be achieved by using `XADD ... MAXLEN 1`.
2021-05-03 17:21:01 +02:00
Alexander A. Klimov
f5abec20cf
Icinga DB: serialize icinga:config:checkcommand:argument#value and #set_if as expected
...
I.e. keep the serializations as simple as possible:
null => null
true => true
42.0 => 42
"foobar" => foobar
{{42}} => Object of type 'Function'
(["foobar"] and {"foo"="bar"} can't occur there.)
2021-04-30 15:48:47 +02:00
Noah Hilverling
aca8d063dc
Icinga DB: Change redis key prefix to 'icinga:*'
2021-04-27 21:27:46 +02:00
Eric Lippmann
b08b30ee80
Merge pull request #8684 from Icinga/feature/icingadb-signals-for-all-types
...
IcingaDB: Add dump signals for type dependencies and global keys and change signal pattern
2021-04-27 21:26:52 +02:00