icinga2
icinga2 copied to clipboard
The core of our monitoring platform with a powerful configuration language and REST API.
Before ae693cb7e1df1b885142854cf8a0f8a7600a3fb7 (#9577) we've repeatedly looped over all items in parallel like this: ``` while not types.done: for t in types: if not t.done and t.dependencies.done: with parallel(all_items, CONCURRENCY) as...
It's unnecessary and questionable whether ASIO properly handles this.
This is inefficient and implies possible bad surprises regarding waiting durations on busy nodes. Instead, use AsioConditionVariable#Wait() if there are no free slots. It's notified by others' CpuBoundWork#~CpuBoundWork() once finished....
## Describe the feature When querying the Icinga2 API endpoints /object/host and /object/service, it is currently no possibility to lookup or filter the notification contacts. At least a filter as...
When a HTTP connection dies prematurely while the response is sent, `http::async_write()` sets the error code to something like broken pipe for example. When calling `async_flush()` afterwards, it sometimes happens...
Properly closing a TLS connection involves sending some shutdown messages so that both ends know that the connection wasn't truncated maliciously. Exchanging those messages can stall for a long time...
## Describe the bug Following example API curl command in the documentation is not correct and returns an error: `curl -k -s -S -i -u root:icinga -H 'Accept: application/json' \...
This PR removes an extraneous extra bracket that broke an example command. fixes #10004
to avoid complicated nested loops, iterating over the same types and checking dependencies over and over, skipping already completed ones.
I just observed the following deadlock while testing #9653. In the following, you can see a nice stack trace were a signal handler is executed on a thread that is...