152 Commits

Author SHA1 Message Date
Noah Hilverling
20828dc6e4
Merge pull request #9084 from Icinga/add-downtime-duration-and-service-state-host-id-streams-2.13
Icinga DB: Add `downtime.duration` & `service_state.host_id` to Redis
2021-11-11 15:27:52 +01:00
Noah Hilverling
b536caa4dc
Merge pull request #9081 from Icinga/feature/sync-checkables-states-first-2.13
Icinga DB: sync checkables along with their states first
2021-11-11 15:27:42 +01:00
Noah Hilverling
c05866686f
Merge pull request #9079 from Icinga/bugfix/idb-dump-buf-lost-2.13
Icinga DB init. dump: flush both buffered states and state checksums
2021-11-11 15:27:35 +01:00
Noah Hilverling
bf46fc447f
Merge pull request #9080 from Icinga/feature/scheduled_by-2.13
Icinga DB: introduce icinga:history:stream:downtime#scheduled_by
2021-11-11 15:27:28 +01:00
Yonas Habteab
ca2f54352f Icinga DB: Add service_state.host_id to Redis 2021-11-11 10:34:24 +01:00
Yonas Habteab
f470c52819 Icinga DB: Add downtime.duration & scheduled_duration to Redis 2021-11-11 10:34:24 +01:00
Eric Lippmann
8c18708819 Icinga DB: Sync groups earlier
Host and service groups are structural information that are used
for Web filters and should therefore be synchronized as soon as
possible.
2021-11-10 17:34:21 +01:00
Alexander A. Klimov
315a08ed9f Icinga DB: sync checkables along with their states first
`WorkQueue#ParallelFor(x, false, y)` will enqueue x's items in FIFO order,
so x has to start with host and service.
2021-11-10 17:34:14 +01:00
Julian Brost
d774ae1186 IcingaDB: actually write parent to parent_id of zones
This fixes that the code used the wrong variable. Previously, it was written to
Redis that each zone is its own parent (if it has a parent at all).
2021-11-10 17:29:53 +01:00
Alexander A. Klimov
2bb5ed0cb3 Icinga DB: introduce icinga:history:stream:downtime#scheduled_by
... with the Downtime#scheduled_by attribute.
2021-11-10 17:16:47 +01:00
Alexander A. Klimov
2afbfa67d3 Icinga DB init. dump: flush both buffered states and state checksums
not to dump x states, but only x - (x % bulk) state checksums.
2021-11-10 17:03:00 +01:00
Noah Hilverling
afb2635e76
Merge pull request #9074 from Icinga/bugfix/icinga-checksum-state-growing-2.13
Icinga DB: clean up vanished objects from icinga:checksum:*:state
2021-11-10 16:48:30 +01:00
Noah Hilverling
1f1c1b39d0
Merge pull request #9073 from Icinga/feature/icingadb-remove-usernotification-stream-2.13
Icinga DB: remove usernotification history stream
2021-11-10 16:48:14 +01:00
Noah Hilverling
c1c2135df1
Merge pull request #9072 from Icinga/feature/icingadb-scheduling_source-2.13
Make CheckResult#scheduling_source available to Icinga DB
2021-11-10 16:47:52 +01:00
Noah Hilverling
268252bd17
Merge pull request #9071 from Icinga/feature/icingadb-add-user-ids-to-notification-history-2.13
Icinga DB: Write IDs of notified users into notification history stream
2021-11-10 15:51:55 +01:00
Noah Hilverling
bb55946367
Merge pull request #9068 from Icinga/bugfix/icinga-db-runtime-state-2.13
Icinga DB: stream runtime state updates only to icinga:runtime:state
2021-11-10 15:51:46 +01:00
Noah Hilverling
e9991bff46
Merge pull request #9069 from Icinga/feature/icingaeb-schema-version-2.13
Icinga DB: publish Redis schema version via XADD icinga:schema
2021-11-10 15:51:20 +01:00
Noah Hilverling
89223a16c9
Merge pull request #9070 from Icinga/bugfix/dont-include-checkable-types-in-history-id-2.13
Icinga DB: don't include checkable types in history IDs
2021-11-10 15:51:04 +01:00
Alexander A. Klimov
5801e548d7 Icinga DB: publish Redis schema version via XADD icinga:schema
... to be able both to subscribe for its change and to just fetch it.
2021-11-10 13:21:46 +01:00
Alexander Aleksandrovič Klimov
998e040b9a Icinga DB: don't include checkable types in history IDs
... as they’re unnecessary for being distinguish across types.
Services always have a ! in the name, hosts never do.
2021-11-10 13:19:54 +01:00
Alexander A. Klimov
51b230f69b Icinga DB: stream runtime state updates only to icinga:runtime:state
... where they belong to, not to icinga:runtime.
2021-11-10 13:17:41 +01:00
Julian Brost
7661bee296 Icinga DB: remove usernotification history stream
These will be added to the normal notification stream so there is no more need
for this extra stream.
2021-11-10 13:16:14 +01:00
Noah Hilverling
c141091d4c Icinga DB: Remove unused Redis key 'icinga:zone:parent' 2021-11-10 13:14:54 +01:00
Julian Brost
f8d4eaab70 Icinga DB: Write IDs of notified users into notification history stream 2021-11-10 13:08:22 +01:00
Alexander A. Klimov
4daaaacd35 Make CheckResult#scheduling_source available to Icinga DB 2021-11-10 13:06:19 +01:00
Alexander A. Klimov
b0a72ceb2f Icinga DB: clean up vanished objects from icinga:checksum:*:state
... not to let it grow non-stop.
2021-11-10 13:01:23 +01:00
Alexander Aleksandrovič Klimov
40c186515b
Merge pull request #8942 from Icinga/bugfix/idb-hashes
Icinga DB: keep state checksums consistent
2021-07-29 21:54:58 +02:00
Alexander Aleksandrovič Klimov
afca6c001e
Merge pull request #8916 from Icinga/feature/icingadb-last_comment_id
Icinga DB: introduce Checkable#last_comment_id
2021-07-29 17:29:51 +02:00
Alexander A. Klimov
8476627e91 Icinga DB: keep state checksums consistent
I.e. make hashes in hashmaps and stream the same.
2021-07-29 12:43:40 +02:00
Alexander A. Klimov
5c10fffa3b Icinga DB: introduce Checkable#last_comment_id 2021-07-29 12:22:12 +02:00
Alexander A. Klimov
173a93c487 Split IcingaDB#SendStatusUpdate(), separate stream and history 2021-07-29 12:22:12 +02:00
Alexander Aleksandrovič Klimov
5923950e61
Merge pull request #8919 from Icinga/bugfix/idb-del-state-chksm
Icinga DB: HDEL also icinga:checksum:*:state, not only icinga:*:state
2021-07-29 11:08:33 +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 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
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
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
50bc7a7f3d Icinga DB: HDEL also icinga:checksum:*, not only icinga:* 2021-07-22 14:13:12 +02:00
Alexander A. Klimov
e6a9631a02 Icinga DB: silence WorkQueue performance 2021-07-16 18:50:41 +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
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