
Tengo un servidor Nagios que incluye muchos hostgroups
. Uno de estos hostgroups
incluye un servidor que me gustaría excluir de la verificación de un Nagios específico, Check
pero quiero que siga siendo miembro hostgroup
para que pueda ser verificado en todos los demás checks
para los que hostgroup
se verifica. ¿Existe alguna opción exclude
o 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 agroup
excepto 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).