Icinga / icinga2

The core of our monitoring platform with a powerful configuration language and REST API.
https://icinga.com/docs/icinga2/latest
GNU General Public License v2.0
2k stars 574 forks source link

Two separate CpuBoundWork semaphores – HTTP | JSONRPC #10046

Open Al2Klimov opened 5 months ago

Al2Klimov commented 5 months ago

Is your feature request related to a problem? Please describe.

One of our customers is DDoSing their Icinga 2 via /v1/hosts (a lot of hosts btw.). That locks up cluster communication entirely.

Describe the solution you'd like

The separate HTTP CpuBoundWork gets e.g. 1 slot or 1/2 of all so that it doesn't bother the cluster.

Describe alternatives you've considered

Put actual processing of HTTP requests in a queue.

Additional context

ref/IP/48306

Al2Klimov commented 3 months ago

Describe alternatives you've considered

Put actual processing of HTTP requests in a queue.

Al2Klimov commented 1 week ago

Maybe Icinga DB even deserves its own I/O, isolated from everything else. So that it doesn't influence cluster communication throughput.