At some places you can use the * wildcard as a service description (which requires use_regexp_matching=0), but sometimes it does not seem to work:
Error: Could not expand services specified
Therefore, I simply wanted to group all services in one servicegroup. That’s quite easy if you use a generic service template as a basis for all services. First, create a servicegroup “allservices”:
define servicegroup { servicegroup_name allservices alias All Services }
Then edit your generic service template (see servicegroups line):
# generic service template definition define service{ name generic-service ; The 'name' of this service template active_checks_enabled 1 ; Active service checks are enabled passive_checks_enabled 1 ; Passive service checks are enabled/accepted parallelize_check 1 ; Active service checks should be parallelized (disabling this can lead to major performance probl$ obsess_over_service 1 ; We should obsess over this service (if necessary) check_freshness 0 ; Default is to NOT check service 'freshness' notifications_enabled 1 ; Service notifications are enabled event_handler_enabled 1 ; Service event handler is enabled flap_detection_enabled 1 ; Flap detection is enabled failure_prediction_enabled 1 ; Failure prediction is enabled process_perf_data 1 ; Process performance data retain_status_information 1 ; Retain status information across program restarts retain_nonstatus_information 1 ; Retain non-status information across program restarts notification_interval 0 ; Only send notifications on status change by default. is_volatile 0 check_period 24x7 normal_check_interval 5 retry_check_interval 1 max_check_attempts 4 notification_period 24x7 notification_options w,u,c,r contact_groups admins servicegroups allservices ; ADD THIS TO ADD ALL SERVICES INTO THE allservices GROUP register 0 ; DONT REGISTER THIS DEFINITION - ITS NOT A REAL SERVICE, JUST A TEMPLATE! }
This assumes all your services use this template like this (see use line):
define service { hostgroup_name ssh-servers service_description SSH check_command check_ssh use generic-service ; USE THE TEMPLATE ABOVE notification_interval 0 ; set > 0 if you want to be renotified }
Now you can easily use this servicegroup for example in serviceescalations (see servicegroup_name line):
define serviceescalation{ hostgroup_name intranet-servers servicegroup_name allservices first_notification 1 last_notification 0 notification_interval 1440 contact_groups intranet-admins }
Hope this helps somebody. I guess it works the same way in Nagios.