Servicegroup regexp matching


#1

It seems extremely tedious, time consuming and error prone to have to explicity define members of a service group using:
members=,,,,…,<hostn>,<servicen>

Is it possible to use wildcard matching on the host names (or host groups)?
I have already set use_regexp_matching=1 but the following will not work:

define servicegroup{ servicegroup_name cpu-load-mlb alias Cpu Load on mlb servers members mlb-.*,CPU Load }
Returns the following error:
Error: Service ‘CPU Load’ on host ‘mlb-.*’ specified in service group ‘cpu-load-mlb’ is not defined anywhere!
I have also tried using a host group name instead of a wildcard for the host members but I can’t get that to work either. Any ideas if there is a shortcut or do I have to do it the long way every time?


#2

do you have a service named “CPU Load” that space in the service name looks “BAD” to me…


#3

Service Name is fine - in fact it works perfectly when I explicitly name each host one after another using the members=,,,,…,<hostn>,<servicen> notation but I really don’t want to explicitly name each host because it is a very long list.

Just for good measure I did change the Service Name to CPU_Load but I still got the same error message.


#4

i seem to remeber you can define a service with host=*
try defining the service with host=mlb-*

first try standard regexp or a simple wildcard… eg: mlb-.* vs mlb-*


#5

Defining the Service is not a problem. I define the Service using a hostgroup_name and I define the hostgroup using mlb-.*. That works perfectly. The problem is defining the Service Group. Servicegroups do not seem to allow wildcards nor do they allow hostgroups as far as I can tell. It seems like a crazy limitation.