¿Existe alguna forma de excluir hosts específicos de un grupo de hosts de Nagios?

¿Existe alguna forma de excluir hosts específicos de un grupo de hosts de Nagios?

Tengo un servidor Nagios que incluye muchos hostgroups. Uno de estos hostgroupsincluye un servidor que me gustaría excluir de la verificación de un Nagios específico, Checkpero quiero que siga siendo miembro hostgrouppara que pueda ser verificado en todos los demás checkspara los que hostgroupse verifica. ¿Existe alguna opción excludeo algo así que pueda ayudarme a lograr mi objetivo? Gracias

Respuesta1

Todavía no lo he probado con hosts, pero sí con grupos de hosts, con el prefijo !works. Utilizo esto para ejecutar una verificación de carga diferente en servidores ocupados:

define host {
    use         physical-host
    host_name   busy-host.example.com
    alias       busy-host.example.com
    address     10.43.16.1
    hostgroups  linux,centos,ldap,http,busy
}

define host {
    use           physical-host
    host_name     normal-host.example.com
    alias         narmal-host.example.com
    address       10.43.1.1
    hostgroups    linux,centos,dns,proxy,ldap,hp,http,puppetmaster
}

define service {
    use                   generic-service
    hostgroup_name        linux,!busy
    service_description   Load
    check_command         check_snmp_load
}

define service {
    use                   generic-service
    hostgroup_name        busy
    service_description   Load
    check_command         check_snmp_load_busy
}

Respuesta2

Agregue el host específico con un !prefijo en la definición del servicio. La verificación de servicio a continuación se aplicará a todos los hosts agroupexcepto ahost.

define service {
    hostgroup_name   agroup
    host_name       !ahost   
    service_description Shared NFS mount
    check_command check_nrpe!check_shared_mount
    use generic-service

}

Respuesta3

Puede crear uno o más grupos de hosts para excluir cosas; agréguelos a los hosts donde desea excluir una o más comprobaciones; nombrándolos como ~no-ipv6 o ~no-ssl o lo que sea que haga que sea bastante obvio qué está destinado a hacerlo.

Aplique el grupo de hosts excluidos a los hosts que desea excluir además de los normales de los que es miembro.

En la descripción del servicio, donde se definen los nombres del grupo de hosts que tienen ese servicio aplicado, use un ! (en este contexto, significa "no") para excluirlos.

Entonces, si tiene un grupo de hosts "servidores web", donde algunos hosts no pueden usar SSL, puede crear otro grupo de hosts "~no-ssl". En el archivo services.cfg, en la definición de servicio que verifica https, bajo el nombre del grupo de host, colocaríawebservers,!~no-ssl

El efecto de esto sería que todos los hosts en los servidores web del grupo de hosts se verifican con SSL, pero aquellos que no lo son.tambiénen el grupo de host ~no-ssl no se verificará SSL. ¡Práctico!

Si hay algunas comprobaciones que desea que TODOS los hosts realicen, aparte de algunas, puede usar*,!~exclusion

Esta abstracción es tremendamente útil; aún más lo es el uso de plantillas para asignar (o excluir) una gran cantidad de servicios a un tipo de host (lo que luego significa que puede usar las definiciones de grupos de hosts en cada host simplemente para verificaciones adicionales "adicionales" que desee ejecutar, o exclusiones específicas (es decir, la plantilla es la "norma", los grupos de hosts son la excepción).

información relacionada