Alexander A. Klimov
e4a36bc217
Introduce Icinga DB check (like the IDO one)
2022-06-23 11:14:31 +02:00
Alexander A. Klimov
2c3d2f8b87
RedisConnection::ReadRESP(): *-1\r\n is null, not [ ]
2022-06-20 13:47:39 +02:00
Yonas Habteab
a0607aceff
Fix compiler warnings don't move local variables
2022-02-22 17:51:43 +01:00
Alexander A. Klimov
0919df5aa1
Introduce IcingaDB#connect_timeout
2021-07-27 21:59:09 +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
Alexander A. Klimov
e1e8ec2ea2
RedisConnection: AUTH and SELECT
...
... or PING to trigger NOAUTH.
2021-07-27 12:05:27 +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 A. Klimov
37e53eaa68
Icinga DB: support TLS
2021-07-22 14:34:07 +02:00
Alexander A. Klimov
67c4ebedd3
Combine all Redis connections' logs
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
Alexander A. Klimov
d1e15a220c
Icinga DB: use one Redis connection per config object type
2021-06-08 17:52:04 +02:00
Noah Hilverling
5c8b32618c
RedisConnection::WriteRESP: Use one asio::async_write instead of many
2021-03-24 13:14:01 +01:00
Alexander Aleksandrovič Klimov
b1719883a3
Merge pull request #8604 from Icinga/bugfix/icingadb-initial-sync-delay
...
IcingaDB: start initial dump in callback instead of timer
2021-01-21 13:47:12 +01:00
Julian Brost
2d080f14eb
IcingaDB: start initial dump in callback instead of timer
...
Previously, the initial config dump was started in a timer executed
every 15 seconds. During the first execution of the timer, the Redis
connection is typically not established yet. Therefore, this delayed the
initial sync by up to 15 seconds.
This commit instead triggers the sync from a callback that is executed
after the connection is successfully established.
The timer is removed completely. On first glance, it looks like it would
ensure that a lost connection is reestablished, but this is handled
internally by RedisConnection. After the config has been dumped once,
that timer wouldn't ever attempt a reconnect anyways.
2021-01-20 09:31:27 +01:00
Julian Brost
174f7f75a8
IcingaDB: wait for queries to be executed in inital sync
...
This delays the log message stating that the initial dump is done until
all queries are actually done and now logs a meaningful duration. In
addition, this delays the return of the function and therefore when
state variables are updated by the caller.
2021-01-19 17:14:42 +01:00
Michael Friedrich
8f5375d2bb
Use IoEngine::Spawn wrapper in RedisConnection class
...
This avoids multiple locations for `asio::spawn` calls.
2020-01-16 09:53:24 +01:00
Alexander A. Klimov
f6f7d9b635
IcingaDB: suppress state sync until config sync finished
2019-12-18 13:41:56 +01:00
Michael Friedrich
387c2c8b79
Merge pull request #7717 from Icinga/bugfix/redisconnection-shared_ptr
...
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-18 13:32:16 +01:00
Alexander A. Klimov
de5b3eb2c7
RedisConnection: replace std::shared_ptr<T> with Shared<T>::Ptr
2019-12-17 12:13:30 +01:00
Alexander A. Klimov
b1cc0cd767
Document RedisConnection
2019-12-17 11:44:00 +01:00
Alexander A. Klimov
df7184ad64
IcingaDB: populate icinga:nextupdate:*
2019-12-02 17:21:03 +01:00
Alexander A. Klimov
e391c0e7b5
RedisConnection: introduce extensible priorities
2019-12-02 17:21:00 +01:00
Alexander A. Klimov
e7ce71095a
IcingaDB: handle Redis restarts
2019-11-21 12:55:01 +01:00
Michael Friedrich
9d9804d50a
Styleguide for IcingaDB
2019-11-02 18:01:31 +01:00
Michael Friedrich
61d9130dd0
Fix Copyright headers
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
67909210a6
RedisConnection: introduce high-priority queue
...
refs #57
2019-11-02 14:00:24 +01:00
Alexander Aleksandrovič Klimov
13ab7eb609
Rename redis to icingadb
2019-11-02 14:00:24 +01:00