Alexander A. Klimov
a5aef627f8
RedisWriter: use __name as object key
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
3ea3b2ba27
RedisWriter: checksum package, source_location and templates separately in metadata_checksum
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
e980485e23
RedisWriter: Explicitly checksum Zone#endpoints
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
dcdf6b8a44
RedisWriter: Exclude explicitly checksummed properties from properties_checksum
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
dc73db01b8
RedisWriter: use one checksum algo for everything
2019-11-02 14:00:23 +01:00
Alexander A. Klimov
b32b81d957
RedisWriter: Pack objects consistently for hashing
2019-11-02 14:00:23 +01:00
Michael Friedrich
60a5a14aa2
Checksums
2019-11-02 14:00:23 +01:00
Michael Friedrich
79f06a90d4
WIP
2019-11-02 14:00:23 +01:00
Michael Friedrich
782486ce9c
Ensure that arrays are sorted for checksum calculation
2019-11-02 14:00:23 +01:00
Michael Friedrich
26a2095426
Implement config object check sums, shot one
2019-11-02 14:00:23 +01:00
Michael Friedrich
8c38c7eddc
Ensure that type names are lower cases for Redis lookups
2019-11-02 14:00:23 +01:00
Michael Friedrich
33a00e4b5a
Move UpdateObjectAttrs into the objects scope
2019-11-02 14:00:23 +01:00
Michael Friedrich
f715d479e7
Rename source file
2019-11-02 14:00:23 +01:00
Michael Friedrich
ddf2aea065
Compile redis into the icinga2 binary; apply more C++11 code changes
2019-11-02 14:00:23 +01:00
Michael Friedrich
61edfcb68d
Apply code style
2019-11-02 14:00:23 +01:00
Jean Flach
5eab856673
Publish events to one enpoint
2019-11-02 14:00:23 +01:00
Jean Flach
c8561676ec
Add limit for subscriptions
2019-11-02 14:00:23 +01:00
Gunnar Beutner
f631bf8cb5
Use sets for subscriptions
...
refs #5656
2019-11-02 14:00:23 +01:00
Gunnar Beutner
06211c3ac7
Implement support for the new config/state schema
...
fixes #5671
2019-11-02 14:00:23 +01:00
Gunnar Beutner
1725038ca8
Implement pipelining support for Redis queries
...
fixes #5670
2019-11-02 14:00:23 +01:00
Jean Flach
7c8412928e
Subscriptions
...
fixes #5656
2019-11-02 14:00:23 +01:00
Jean Flach
1ada53dd57
Trim event queue
...
TODO: make configurable
refs #5119
2019-11-02 14:00:23 +01:00
Gunnar Beutner
b6c86f98ec
Clean up the code a bit
2019-11-02 14:00:23 +01:00
Gunnar Beutner
fff1049ba0
Ensure that the WorkQueue name is set
2019-11-02 14:00:23 +01:00
Gunnar Beutner
b75e21a998
Redis support (WIP)
2019-11-02 14:00:23 +01:00
Michael Friedrich
6397fedc3d
Remove experimental redis feature before 2.7 release
2017-06-20 11:52:24 +02:00
Michael Friedrich
d7b939d99b
Redis: Dump severity field to icinga:{host,service}state
...
refs #5117
2017-04-20 16:48:00 +02:00
Michael Friedrich
17615ac444
Redis: Dump host and service state events
...
fixes #5163
2017-04-12 16:58:08 +02:00
Thomas Gelf
ed2ebdf0d0
RedisWriter: publish Icinga 2 stats as a simple "keepalive"
...
Use case: a reader subscribes to config changes. As they happen rarely, chances
are good that the connection will time out in the meantime. Now, a reconnect is
easy - but you wouldn't know whether you missed any config changes. So you are
required to issue a new sync to be on the safe side. Given a 60sec connection
timeout (think: SSL layer, firewalls etc) when no traffic happens this would be
too expensive.
Some kind of a heartbeat available for subscription would allow subscribers to
artificially keep the connection alive. As a first simple solution to this I'd
suggest to publish CIB data, that might be useful anyways.
refs #4991
fixes #5098
Signed-off-by: Michael Friedrich <michael.friedrich@icinga.com>
2017-03-29 10:17:03 +02:00
Michael Friedrich
2f84ff84b2
Fix object deletion on restart
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
f76f655dc1
Rename source file
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
af3e2c429f
Add exception handler for Redis WorkQueue
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
a5556cbaae
Add log message for config/status dump end for Redis
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
91b8decaac
Fix possible crash on startup status updates in Redis
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
3310cc30ae
Fix hash value for empty custom attributes
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
9de4c8bc58
Fix memory leak in RedisWriter::ExecuteQuery
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
dac9775b93
Add COUNT parameter for SCAN
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
28b2345a3b
Updated remaining queries to use ExecuteQuery()
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
844e2bf68c
Replace existing queries with ExecuteQuery() calls
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
fcd9e3666d
Implement config dump/update/delete publishing; fix runtime created object creation
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
75bfd775b9
Implement RedisWriter::ExecuteQuery
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
f29a82bcfe
Add properties and vars config checksums
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
6178ca3886
Use GetHostService() instead of casts
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
6b48a36192
Implement the db_index property for the RedisWriter class
...
fixes #5081
2017-03-29 10:17:03 +02:00
Gunnar Beutner
1bbdd082b0
Use transactions for the initial config and status updates
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
c64d296edb
Make sure to use pretty-printed checksums in JSON blobs; remove semicolons
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
2d9be77260
Clean up the code a bit
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
2773d93d40
Update log message
...
refs #4991
2017-03-29 10:17:03 +02:00
Michael Friedrich
0b466aabc0
Start working on checksum config dump
...
refs #4991
2017-03-29 10:17:03 +02:00
Gunnar Beutner
94aeaa2e5c
Don't use raw pointers in boost::bind
...
refs #4991
2017-03-16 15:33:59 +01:00