77 Commits

Author SHA1 Message Date
Alexander A. Klimov
ed57d31400 Icinga DB: HMSET the same fields only once 2021-02-24 13:37:36 +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
Yonas Habteab
5b0bbd6351 IcingaDB: Check whether or not cr is nullptr 2021-01-18 11:38:31 +01:00
Alexander A. Klimov
35f25e99b4 IcingaDB::SerializeState(): include whether an ack is sticky 2020-04-20 14:53:55 +02:00
Noah Hilverling
595ffc438e Icinga DB - Flapping history: Add percent_state_change_start/end 2020-03-10 14:44:08 +01:00
Noah Hilverling
5ec31aed14 Downtime, Comment, Notification: Add host_id, if object_type is service 2020-03-09 10:50:02 +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
0d58f87b37 IcingaDB: make signal handlers synchronous
refs #7885
2020-03-04 11:09:35 +01:00
Michael Insel
5930d640e4 IcingaDB: Fix enumeral mismatch compiler warnings
This fixes 3 enumeral mismatch compiler warnings when building the
IcingaDB target.
2020-02-10 18:56:11 +01:00
Noah Hilverling
b77bc7b963 IcingaDB: Fix last_update 2020-01-29 14:43:29 +01:00
Noah Hilverling
0d28ef5abe IcingaDB::UpdateState: Check for Redis connection before calling FireAndForgetQuery() 2020-01-17 13:53:05 +01:00
Noah Hilverling
cbe1c181a1 IcingaDB: Fix rescheduling check not always updating state in Redis
fixes #7707
2020-01-16 10:51:56 +01:00
Noah Hilverling
6575ce920e
Merge pull request #7721 from Icinga/bugfix/icingadb-pending
IcingaDB: suppress state sync until config sync finished
2020-01-08 17:30:22 +01:00
Noah Hilverling
275ab08303 IcingaDB - Runtime updates: Use one pub/sub channel per config object type 2020-01-07 16:40:29 +01:00
Alexander A. Klimov
f6f7d9b635 IcingaDB: suppress state sync until config sync finished 2019-12-18 13:41:56 +01:00
Alexander A. Klimov
c6ea9bc7fe IcingaDB: update icinga:nextupdate:* on Checkable#next_check changes
refs #7707
2019-12-10 16:11:51 +01:00
Noah Hilverling
77e02031f9
Merge pull request #7690 from Icinga/feature/flapping-acknowledgement-start-time-7689
IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
2019-12-10 14:49:17 +01:00
Noah Hilverling
ee40fedb2a
Merge pull request #7700 from Icinga/bugfix/icingadb-don-t-hash-hashes-7692
IcingaDB: don't hash hashes
2019-12-10 13:39:12 +01:00
Alexander A. Klimov
78189d70ef IcingaDB: don't hash hashes
refs #7692
2019-12-10 11:23:05 +01:00
Alexander A. Klimov
4f68cfd299 IcingaDB: include consistent IDs, start time and end time in icinga:history:stream:{flapping,acknowledgement}
refs #7689
2019-12-10 10:44:26 +01:00
Alexander A. Klimov
829d07aefe Introduce Checkable#acknowledgement_last_change
refs #7689
2019-12-10 10:44:23 +01:00
Noah Hilverling
e8f352f4d7 IcingaDB history: Add cancelled_by & removed_by to downtime & comment history 2019-12-09 10:30:52 +01:00
Noah Hilverling
5e23414197
Merge pull request #7699 from Icinga/bugfix/icingadb-hash-arrays-7691
Get rid of IcingaDB#CalculateCheckSum*()
2019-12-06 16:37:24 +01:00
Alexander A. Klimov
c91154a14c Get rid of IcingaDB#CalculateCheckSumString()
refs #7691
2019-12-06 10:54:11 +01:00
Alexander A. Klimov
6fc4efccc7 Get rid of IcingaDB#CalculateCheckSumArray()
refs #7691
2019-12-06 10:47:48 +01:00
Alexander Aleksandrovič Klimov
202e90b626
Merge pull request #7693 from Icinga/feature/icingadb-remove-unnecessar-service-host-ids
IcingaDB: Remove unnecessary service_/host_ids
2019-12-05 15:04:52 +01:00
Noah Hilverling
71ef1de964
Merge pull request #7667 from Icinga/feature/icingadb-acks-history
IcingaDB: populate icinga:history:stream:acknowledgement
2019-12-05 09:20:36 +01:00
Noah Hilverling
3e832900f6 IcingaDB: Remove unnecessary service_/host_ids 2019-12-05 07:35:05 +01:00
Alexander A. Klimov
04e13e784d IcingaDB: populate icinga:history:stream:acknowledgement 2019-12-04 15:02:14 +01:00
Noah Hilverling
92e51a3f87
Merge pull request #7684 from Icinga/bugfix/is_handled-host-down-7673
IcingaDB: update service state on Host#problem change
2019-12-04 14:43:09 +01:00
Alexander Aleksandrovič Klimov
5d40a71f8b
Merge pull request #7669 from Icinga/feature/icingadb-notification-recipients
IcingaDB: Add notification recipients
2019-12-04 11:00:53 +01:00
Noah Hilverling
ea6e937760 IcingaDB: Add notification recipients 2019-12-04 10:10:36 +01:00
Alexander A. Klimov
5c45c198ff IcingaDB#SerializeState(): correct Checkable#is_{problem,handled}
refs #7673
2019-12-03 17:44:48 +01:00
Alexander A. Klimov
798c56b809 IcingaDB: update service state on Host#problem change
refs #7673
2019-12-03 17:37:51 +01:00
Alexander A. Klimov
ea5403a55c Extend Checkable::OnAcknowledgementCleared by removedBy 2019-12-03 17:00:54 +01:00
Noah Hilverling
b84ceccfb7
Merge pull request #7662 from Icinga/feature/icingadb-overdue
IcingaDB: populate icinga:nextupdate:*
2019-12-03 15:38:17 +01:00
Noah Hilverling
355973d600
Merge pull request #7656 from Icinga/bugfix/icingadb-command-arg-value-null
IcingaDB: don't always set icinga:config:*command:{argument,envvar}#value
2019-12-03 12:53:03 +01:00
Alexander A. Klimov
c01c22ae76 IcingaDB: don't always set icinga:config:*command:{argument,envvar}#value 2019-12-03 11:57:21 +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 Aleksandrovič Klimov
d2d48a2120
Merge pull request #7674 from Icinga/feature/icingadb-remove-unused-checksums
IcingaDB: Remove unused checksums
2019-12-02 16:38:28 +01:00
Noah Hilverling
1b60419a1b
Merge pull request #7677 from Icinga/bugfix/icingadb-add-ack-comment
IcingaDB#SendAddedComment(): suppress ack comments
2019-12-02 16:09:25 +01:00
Alexander A. Klimov
e7aa021bd8 IcingaDB#SendAddedComment(): suppress ack comments 2019-12-02 16:06:11 +01:00
Noah Hilverling
66eafd6ad2 IcingaDB: Remove unused checksums 2019-12-02 09:28:04 +01:00
Alexander A. Klimov
10c1d0e4c8 IcingaDB: don't always set Comment#expire_time 2019-11-27 15:58:19 +01:00
Noah Hilverling
ce4409d1d2
Merge pull request #7657 from Icinga/feature/icingadb-host_id
IcingaDB: always set *#host_id
2019-11-27 14:38:22 +01:00
Noah Hilverling
0652aa0a6f
Merge pull request #7652 from Icinga/bugfix/icingadb-output-null
IcingaDB#SendStatusUpdate(): don't always set icinga:history:stream:state#{,long_}output
2019-11-27 14:29:26 +01:00