Nagios – Define as service for all the members of a group *except* some hosts

monitoringnagiosnetwork-monitoring

We're using nagios to check our ssh server is running. We have the check_ssh group defined for all members of a certain group. We have other services defined for that group as well. Everything is fine. However for 2 of the members of this group, they listen for ssh on a different port. Hence I have to make a new service for them. Which is fine, but then nagios complains that I'm defining the SSH service twice for the same host.

Can I change the original ssh service to include all the members of group A, but exclude hosts X and Y?

Best Answer

Use the host_name directive in the service definition with an exclamation before the name of the host. For example:

define service{
        service_description     CPU Stats
        servicegroups   sysres
        use             generic
        hostgroup_name  linux
        host_name       !server1
        check_command   check_iostat
}