为属于所有给定主机组的所有主机定义服务

为属于所有给定主机组的所有主机定义服务

我不知道如何为给定的两个主机组中的所有主机创建服务。

主机组示例:

oracle: hostA, hostB
prod: hostB, hostC

现在我需要为两个组中所有主机提供一项服务。在这种情况下,仅针对主机B

我尝试创建这样的服务。但这将包括所有生产服务器

define service {
        service_description             Oracle Filesystems
        use                             Oracle_PROD_Service
        hostgroup_name                  oracle,prod
        check_interval                  3
        check_command                   check_nrpe!check_fs!pkgname:oracle:95:99!!!!!!!
        register                        1
}

答案1

您想做的事情是不可能的。

解释

  1. 需要将服务检查分配给主机模板。
  2. 需要将 Hostemplates 分配给主机。
  3. 需要将主机组分配给主机。

例子

在此处输入图片描述

答案2

对我有用的是使用排除法

define service {
        service_description             Oracle Filesystems
        use                             Oracle_PROD_Service
        hostgroup_name                  oracle,!devua
        check_interval                  3
        check_command                   check_nrpe!check_fs!pkgname:oracle:95:99!!!!!!!
        register                        1
}

define service {
        service_description             Oracle Filesystems
        use                             Oracle_DEV_Service
        hostgroup_name                  oracle,!prod
        check_interval                  3
        check_command                   check_nrpe!check_fs!pkgname:oracle:95:101!!!!!!!
        register                        1
}

相关内容