Commit Graph

5317 Commits

Author SHA1 Message Date
Michael Friedrich 7488d2614b
Merge pull request #7811 from Icinga/bugfix/config-sync-log
Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
2020-02-06 14:32:46 +01:00
Michael Friedrich bf2d6abfad
Merge pull request #7747 from Icinga/bugfix/heartbeat-unauthenticated-7746
Don't send event::Heartbeat to unauthenticated peers
2020-02-06 14:32:25 +01:00
Michael Friedrich f961370e36 ApiEvents: Fix AcknowledgementCleared code quality 2020-02-06 13:03:04 +01:00
Alexander A. Klimov 35c9f2e7b3 Close connections w/o sucessful TLS handshakes during 10s
refs #7805
2020-02-05 15:53:56 +01:00
Alexander A. Klimov 0ed0f73d9d IoEngine#SpawnCoroutine(): remove redundand overload 2020-02-05 15:31:57 +01:00
Michael Friedrich cdfc6e6f50 Cluster config sync: Use a more friendly message when configs are equal and don't need a reload
This also adds an entry to the troubleshooting docs.
2020-02-05 15:31:41 +01:00
Alexander A. Klimov d98493c90f IoEngine#SpawnCoroutine(): don't copy parameter 2020-02-05 15:30:03 +01:00
Noah Hilverling 572c912c96
Merge pull request #7804 from Icinga/bugfix/not-overdue-active-checks-disabled-7790
Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
2020-01-31 14:17:30 +01:00
Alexander Aleksandrovič Klimov 431e4f64c9
Merge pull request #7794 from Icinga/bugfix/icingadb-fix-last-update
IcingaDB: Fix last_update
2020-01-31 12:12:49 +01:00
Alexander A. Klimov 86bbb79869 Checkable#next_update: ignore re-scheduled #next_check if !#enable_active_checks
refs #7790
2020-01-31 11:49:47 +01:00
Noah Hilverling b77bc7b963 IcingaDB: Fix last_update 2020-01-29 14:43:29 +01:00
Michael Friedrich 5812dae55b Dev: Allow to delay main worker process in order to attach with LLDB
Introduce `-DInternal.DebugWorkerDelay=120` and sleep inside `RunWorker()`.

Rationale: With 2.11 we've introduced a real umbrella process where the
main process is spawned as child fork. Running icinga2 in foreground on
a macOS shell with LLDB will now exit, and not follow the child process.

LLDB doesn't support `follow-fork-mode child` like GDB and therefore we
need to:

- Print the child process PID
- Sleep for X seconds to allow the developer to run `lldb -p <PID>`, set breakpoints, etc.

This commit also documents all available debug build enabled internal constants.
2020-01-29 13:21:05 +01:00
Michael Insel d7dfa6f1df Terminate windows check processes with UNKNOWN state on timeout
On Windows this terminates checks that reached the timeout with the UNKNOWN
state instead the WARNING state.

Co-authored-by: araujorm <araujorm@users.noreply.github.com>
2020-01-27 21:43:01 +01:00
Michael Friedrich e1939368b2
Merge pull request #7765 from Icinga/bugfix/opentsdb-graphite-reconnect
Graphite/OpenTSDB: Ensure that Reconnect failure is detected
2020-01-27 14:32:26 +01:00
Alexander A. Klimov 530d84ae3b Make ConfigCompiler#m_LexBuffer a String
... to reduce malloc()s.
2020-01-21 13:38:59 +01:00
Michael Friedrich 0da46c1d4b Ensure that log replay files are properly renamed on Windows
rename() without _unlink() before doesn't work on Windows.
This commits also adds an error message which was swallowed
previously.
2020-01-20 11:41:43 +01:00
Michael Friedrich 3533ddd010 Graphite/OpenTSDB: Ensure that Reconnect failure is detected
fixes #7729
2020-01-18 17:09:09 +01:00
Noah Hilverling 0d28ef5abe IcingaDB::UpdateState: Check for Redis connection before calling FireAndForgetQuery() 2020-01-17 13:53:05 +01:00
Alexander Aleksandrovič Klimov f11cccf874
Merge pull request #7760 from Icinga/bugfix/icingadb-manually-rescheduling-a-check-does-not-update-next_update-and-next_check-7707
IcingaDB: Fix rescheduling a check not always updating state in Redis
2020-01-16 11:58:28 +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
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 3d841d5f64 Don't send event::Heartbeat to unauthenticated peers
refs #7746
2020-01-13 11:21:38 +01:00
Eric Lippmann cb21086d6c
Merge pull request #7737 from Icinga/bugfix/revert-notification-result
Revert NotificationResult
2020-01-09 10:06:39 +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
Stuart Henderson 6744b1af54 cope with OS which don't fill in si_pid in siginfo
Icinga processes check si_pid on IPC signals to ensure that the signal
comes from an expected process. OpenBSD doesn't currently fill in si_pid
in siginfo (leaving it 0) so signals never pass this check, resulting
in startup failing to complete (the worker doesn't see the umbrella's
signal and vice-versa) - issue #7505.

Relax the requirement so that either 0 or the wanted pid is accepted.
2020-01-07 22:08:38 +00:00
Noah Hilverling 275ab08303 IcingaDB - Runtime updates: Use one pub/sub channel per config object type 2020-01-07 16:40:29 +01:00
Michael Friedrich 7e1e8b3393 Revert "Add NotificationResult class"
This reverts commit 9621fd2e4b.
2020-01-07 14:26:09 +01:00
Michael Friedrich 3605076f8b Revert "Add OnNewNotificationResult signal and ProcessNotificationResult handler"
This reverts commit ac483f2a8a.
2020-01-07 14:26:07 +01:00
Michael Friedrich 152709071d Revert "Implement last_notification_result handling for Notification objects"
This reverts commit 1706b297a5.
2020-01-07 14:21:06 +01:00
Michael Friedrich d242b41704 Revert "Make NotificationResult available for events: Cluster and Features"
This reverts commit 566e59bbfa.
2020-01-07 14:20:59 +01:00
Michael Friedrich 55e13fd001 Revert "Fix license headers"
This reverts commit 48b3d25ce2.
2020-01-07 14:20:45 +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
Michael Friedrich cbbff6b37d
Merge pull request #7716 from Icinga/bugfix/redisconnection-long-logs
RedisConnection: shorten log messages
2019-12-18 13:31:51 +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 955b612703 RedisConnection: shorten log messages 2019-12-17 11:49:54 +01:00
Alexander A. Klimov b1cc0cd767 Document RedisConnection 2019-12-17 11:44:00 +01:00
Michael Friedrich cd44c5371a
Merge pull request #7713 from Icinga/bugfix/coroutine-stack-size-linux
Boost Coroutines: Increase the default stack size from 64 to 256KB
2019-12-13 17:30:23 +01:00
Michael Friedrich f62f2eb25e Boost Coroutines: Increase the default stack size from 64 to 256KB
refs #7532
2019-12-13 17:20:06 +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 d69cb676a7 Introduce IcingaDB#GetObjectIdentifiersWithoutEnv()
refs #7692
2019-12-10 11:22:35 +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
Alexander A. Klimov 98ba1c03d0 Make Checkable#flapping_last_change consistent across nodes
refs #7689
2019-12-10 10:11:24 +01:00
Michael Friedrich f47142cf72
Merge pull request #7686 from Icinga/bugfix/open-connections
Fix open connections when agent waits for CA approval
2019-12-09 19:25:13 +01:00
Michael Friedrich ce1a71cfec
Merge pull request #7695 from Icinga/bugfix/double-ack
Refuse acking an already acked checkable
2019-12-09 19:23:41 +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 f0b8892e4a
Merge pull request #7676 from Icinga/feature/icingadb-localendpoint-id
IcingaDB#GetStats(): add endpoint_id to IcingaApplication
2019-12-06 16:59:36 +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 e109063333 IcingaDB#GetStats(): add endpoint_id to IcingaApplication 2019-12-06 15:52:47 +01:00
Alexander A. Klimov 783586978f Get rid of IcingaDB#CalculateCheckSumProperties()
refs #7691
2019-12-06 11:25:41 +01:00
Alexander A. Klimov 9a678dce8e Get rid of IcingaDB#CalculateCheckSumVars()
refs #7691
2019-12-06 11:24:33 +01:00
Alexander A. Klimov b5ada44330 Get rid of IcingaDB#CalculateCheckSumMetadata()
refs #7691
2019-12-06 11:23:13 +01:00
Michael Friedrich 65ab6b256f
Merge pull request #7696 from Icinga/bugfix/metrics-zero-thresholds
Metrics: Always send '0' as value for thresholds
2019-12-06 11:01:35 +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
Michael Friedrich ee72791f25 Metrics: Always send '0' as value for thresholds
fixes #7666
2019-12-05 13:05:59 +01:00
Alexander A. Klimov da6a9174d1 Checkable#ClearAcknowledgement(): OnAcknowledgementCleared() at most once 2019-12-05 11:54:33 +01:00
Alexander A. Klimov 798ea54173 Refuse acking an already acked checkable 2019-12-05 11:08:16 +01:00
Noah Hilverling 5b8b777691 IcingaDB: Add timestamp to stats stream 2019-12-05 10:34:41 +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
Michael Insel 9d55a8264d Fix open connections when agent waits for CA approval
This closes the agent connection when the certificate sign requests
waits for CA approval.

refs #7680
2019-12-03 21:19:39 +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 Aleksandrovič Klimov bb9b70d466
Merge pull request #7685 from Icinga/bugfix/pending-checkable-problem
Checkable#GetProblem(): consider PENDING not a problem
2019-12-03 17:27:01 +01:00
Alexander A. Klimov ea5403a55c Extend Checkable::OnAcknowledgementCleared by removedBy 2019-12-03 17:00:54 +01:00
Alexander A. Klimov 1931501040 Checkable#GetProblem(): consider PENDING not a problem 2019-12-03 16:56:43 +01:00
Michael Friedrich 4e74eff7a2
Merge pull request #7417 from Icinga/feature/lambda-use
DSL: Add support for Lambda Closures ()use(x)=>x and ()use(x)=>{return x}
2019-12-03 16:05:57 +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
Michael Friedrich 857e32ad1d
Merge pull request #7681 from syseleven/improve-error-message
Improve error message for POST queries
2019-12-03 13:14:23 +01:00
Noah Hilverling 2af6f24fc4
Merge pull request #7678 from Icinga/feature/icingadb-stats-stream
IcingaDB#PublishStats(): make icinga:stats a stream
2019-12-03 12:53:40 +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 416e1d72bf IcingaDB#PublishStats(): make icinga:stats a stream 2019-12-03 12:01:13 +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
Matthias Baur 177c45d787
Improve error message for POST queries
If the user does a POST query but forgets to add the
'X-HTTP-Method-Override: GET' HTP header, the error message was
misleading. This changes the error message to a more detailed message
which might give the user a better understanding what the problem
could be.

Fixes #7675.
2019-12-03 11:39:40 +01:00
Alexander A. Klimov 9be3b60f76 DSL: allow ()use(x)=>x and ()use(x)=>{return x} 2019-12-03 11:19:34 +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 8b6c3bdc92
Merge pull request #7660 from Icinga/bugfix/icingadb-subscription
IcingaDB: get rid of icinga:{subscription,event}*
2019-12-02 10:31:53 +01:00
Noah Hilverling 284d131f61
Merge pull request #7653 from Icinga/bugfix/icingadb-expire_time-null
IcingaDB: don't always set Comment#expire_time
2019-12-02 10:30:09 +01:00
Noah Hilverling 66eafd6ad2 IcingaDB: Remove unused checksums 2019-12-02 09:28:04 +01:00
Michael Insel 859658ab98 Fix TLS context copies in ApiListener
This avoids copying the TLS context in the ApiListener class and removes
the obsolete variable.

This is a follow-up from #7654
2019-11-29 16:03:38 +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
Alexander A. Klimov ba6550dc58 IcingaDB: get rid of icinga:{subscription,event}* 2019-11-27 11:42:09 +01:00
Noah Hilverling 473f932483
Merge pull request #7659 from Icinga/bugfix/notification_history-send_time
Notification_history: Rename event_time to send_time
2019-11-27 10:44:57 +01:00
Michael Friedrich aee80d7f24
Merge pull request #7654 from Icinga/bugfix/apilistener-const-sslcontext
Fix TLS context not being updated on signed certificate messages on agents
2019-11-27 09:18:16 +01:00