I have a large number of servers (several 1000) but a small number of checks, which run on all servers. To organise them, I use servicegroups - I also create all the service objects on the fly. This means that I can implement a check for a new service without restarting icinga, but I don’t see it in my list of service groups until I create a service group in the config files and restart icinga. I have asked previously if it is possible to create servicegroups dynamically (How to create a ServiceGroup dynamically?), but that doesn’t seem to possible or practical.
Thus, I’m wondering if there is a way to design an assign ...
so that it ‘captures’ services that are not already in some other service group?
Hi,
no that is not possible, as it would need multiple rounds of re-evaluating the object assign rules. The more layers the config compiler has, the longer a reload/start takes. Therefore service group assign where rules can only use existing host/service objects and not depend on other service groups.
Cheers,
Michael
Ah, well, I can’t say I’m surprised, I know it would be a bit like catching a ghost. It was probably just a silly question.
Doesn’t hurt to task, this isn’t documented as it complicates learning the basic principles. Generally speaking, we try to avoid too many service groups and have gone building advanced views with business processes or cube. Grouping typically is something you normally use for the web interface, sometimes - host groups - it makes sense to apply services for example.