shinken-solutions / shinken

Flexible and scalable monitoring framework
http://www.shinken-monitoring.org
GNU Affero General Public License v3.0
1.14k stars 335 forks source link

Enh: better objects balancing between schedulers #1999

Closed geektophe closed 3 years ago

geektophe commented 4 years ago

The current balancing strategy spreading objects between schedulers is a simple round robin.

This is sufficient for configurations with homogeneous pack sizes, but with heterogeneous configuration with host/service groups of different sizes, complex service dependencies or large business rules, this can result sometimes in a greatly unbalanced dispatching.

This patch introduce a routine that selects the scheduler managing the lowest amount of objects for each pack. The result is a more evenly balanced load across the schedulers.

Also, modifies the behavior of service_overrides property when overriding a parameter for an unknown service. The previous behavior raised an error. The new one only raises a warning. This is way more convenient when dealing with portion of configuration that are enabled or disabled.