A veces la disponibilidad de un servidor depende de otro. Un servidor que está detrás de algún router se volverá inalcanzable si el router se cae. Con disparadores configurados para ambos, podrías recibir notificaciones sobre dos hosts caídos - mientras que sólo el router era el culpable. Aquí es donde alguna dependencia entre hosts podría ser útil. Con dependencia establecida las notificaciones de los dependientes podrían ser retenidas y sólo la notificación para el problema de raíz enviada. Aunque Zabbix no soporta dependencias entre hosts directamente, éstas pueden ser definidas con otro método más flexible - trigger dependencias. Un trigger puede tener uno o más triggers de los que depende.
Así que en nuestro sencillo ejemplo abrimos el formulario de configuración del trigger del servidor y establecemos que depende del respectivo trigger del router. Con tal dependencia el trigger del servidor no cambiará de estado mientras esté en estado "PROBLEMA" - y por lo tanto no se tomarán acciones dependientes y no se enviarán notificaciones. Si tanto el servidor como el router están caídos y la dependencia está ahí, Zabbix no ejecutará acciones para el trigger dependiente. Las acciones de los disparadores dependientes no se ejecutarán si el disparador del que dependen: - · cambia su estado de 'PROBLEMA' a 'DESCONOCIDO' - · se cierra manualmente, por correlación o con la ayuda de funciones basadas en el tiempo - · se resuelve mediante un valor de un elemento no implicado en el desencadenante dependiente- - · está desactivado, tiene un elemento desactivado o un host de elementos desactivados Tenga en cuenta que el activador "secundario" (dependiente) en los casos mencionados no se actualizará inmediatamente. Mientras el disparador principal esté en estado PROBLEMA sus dependientes pueden informar de valores en los que no podemos confiar. Por lo tanto, el disparador dependiente sólo será reevaluado, y cambiará su estado, sólo después de que el disparador padre esté en estado OK y hayamos recibido métricas confiables.
También:
Para definir una dependencia, abra la pestaña Dependencias en un trigger formulario de configuración. Haga clic en Add en el bloque Dependencias' y seleccione uno o más disparadores de los que dependerá nuestro disparador.
Haga clic en Actualizar. Ahora el activador tiene una indicación de su dependencia en la lista.
(../../../../assets/en/manual/config/triggers/dependency_list.png)
Por ejemplo, un Host está detrás de un Router2 y el Router2 está detrás de un Router1.
Si el Router1 está caído, entonces obviamente el Host y el Router2 también están inalcanzables, sin embargo, no queremos recibir tres notificaciones sobre Host, Router1 y Router2 están caídos.
Así que en este caso definimos dos dependencias:
· El disparador 'Host is down' depende del disparador 'Router2 is down' · El disparador "Router2 está caído" depende del disparador "Router1 está caído".
Antes de cambiar el estado del trigger 'Host is down', Zabbix buscará las dependencias de los disparos correspondientes. Si se encuentra, y uno de esos disparadores está en estado 'Problema', entonces el estado del disparador no se cambiará y por lo tanto las acciones no se ejecutarán y las notificaciones no se enviarán.
Zabbix realiza esta comprobación de forma recursiva. Si el Router1 o el Router2 es inalcanzable, el trigger Host no se actualizará.