Algumas vezes um host só está disponível se outro também estiver. Um servidor que está atrás de um roteador estará indisponível se o roteador ficar indisponível. Caso tenhamos triggers definidas em ambos os hosts, nós receberemos notificações sobre a indisponibilidade de ambos.
Temos aqui uma dependência funcional entre os hosts. Neste cenário pode ser interessante que as notificações sobre as indisponibilidades no servidor atrás do roteador possam ser configuradas para só ocorrerem se o elemento principal (o roteador) não tiver problema naquele momento.
Neste momento o Zabbix não suporta dependências diretas entre os hosts, suportando uma outra forma mais flexível de dependência: a dependência entre triggers. Uma trigger pode possuir várias outras triggers dependendo dela.
No exemplo citado anteriormente nós precisamos então abrir o formulário de configuração de triggers e configurar a dependência com uma trigger do roteador. Com esta dependência o estado da trigger do 'servidor' não irá ser modificada enquanto a trigger do 'roteador' estiver em estado de 'Incidente' e nenhuma notificação será enviada.
Se tanto o servidor quanto o roteador estiverem inacessíveis e existir a relação de dependência, o Zabbix não irá executar nenhuma ação baseado na trigger dependente (neste caso a trigger do servidor).
É importante observar que os eventos/ações de triggers com dependência não serão suprimidos se a trigger "mestre" estiver com o estado "Desativado", ou se um dos items por ela referenciados estiver neste estado.
Também:
Para definir um dependência, abra a aba de dependências da trigger. Clique em Adicionar no bloco de 'Dependências' e selecione uma ou mais triggers das quais irá depender.
Clique em Atualizar. Agora a trigger tem a indicação de sua dependência na lista.
Por exemplo, o Servidor_1 está atrás do Roteador_2 e o Roteador_2 está atrás do Roteador_1.
Se o Roteador_1 estiver inacessível, tanto o Servidor_1 quanto o Roteador_2 também estarão inacessíveis, e sem as corretas dependências serão gerados três alertas.
Neste caso precisamos definir duas dependências:
A trigger 'Servidor_1 is down' depende da trigger 'Roteador_2 is down'
A trigger 'Roteador_2 is down' depende da trigger 'Roteador_1 is down'
Antes de mudar o estado da trigger 'Servidor_1 is down', o Zabbix irá verificar o estado de suas dependências. Se encontrar, em qualquer uma delas, o estado de 'Incidente' o estado da trigger não será modificado e as notificações e ações não serão enviadas.
O Zabbix executa esta verificação em modo recursivo, se o Roteador_1 ou o Roteador_2 estiverem inacessíveis a trigger do Host não será atualizada.