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
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
4005d81a43
Icinga DB: Sync state using runtime updates
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
Noah Hilverling
aca8d063dc
Icinga DB: Change redis key prefix to 'icinga:*'
2021-04-27 21:27:46 +02:00
Julian Brost
41f7124692
Icinga DB: cache environment ID instead of recomputing it every time
2021-03-23 17:09:32 +01:00
Alexander A. Klimov
ed57d31400
Icinga DB: HMSET the same fields only once
2021-02-24 13:37:36 +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
Alexander A. Klimov
fc72cca70e
Icinga DB: don't use the work queue for publishing stats
2020-05-15 11:17:25 +02:00
Alexander A. Klimov
ff0efbc2a2
Drop IcingaDB#HandleEvents()
2020-03-04 14:37:17 +01:00
Alexander A. Klimov
54d555bd92
Drop IcingaDB#SendEvent()
2020-03-04 14:36:43 +01:00
Alexander A. Klimov
867481de7c
Connect IcingaDB::StateChangeHandler to Checkable::OnAcknowledgementSet instead of calling it in IcingaDB#SendEvent()
2020-03-04 14:36:07 +01:00
Alexander A. Klimov
efa548fbdf
Connect IcingaDB::UpdateState to Checkable::OnNewCheckResult instead of calling it in IcingaDB#SendEvent()
2020-03-04 14:34:43 +01:00
Alexander A. Klimov
f6f7d9b635
IcingaDB: suppress state sync until config sync finished
2019-12-18 13:41:56 +01:00
Noah Hilverling
5b8b777691
IcingaDB: Add timestamp to stats stream
2019-12-05 10:34:41 +01:00
Alexander A. Klimov
416e1d72bf
IcingaDB#PublishStats(): make icinga:stats a stream
2019-12-03 12:01:13 +01:00
Alexander A. Klimov
e391c0e7b5
RedisConnection: introduce extensible priorities
2019-12-02 17:21:00 +01:00
Alexander A. Klimov
ba6550dc58
IcingaDB: get rid of icinga:{subscription,event}*
2019-11-27 11:42:09 +01:00
Michael Friedrich
9d9804d50a
Styleguide for IcingaDB
2019-11-02 18:01:31 +01:00
Michael Friedrich
904f2ce7d4
IcingaDB: Silence some developer logging
2019-11-02 15:47:51 +01:00
Michael Friedrich
61d9130dd0
Fix Copyright headers
2019-11-02 14:00:24 +01:00
Alexander A. Klimov
071a1489aa
PUBLISH to icinga:stats with high priority
...
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