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.