Algumas vezes a disponibilidade de um host depende de outro. Um servidor que está atrás de algum roteador se tornará indisponível se o roteador cair. Com gatilhos configurados para ambos, você pode obter notificações sobre dois hosts fora - enquanto apenas o roteador é a parte culpada.
Aqui é onde alguma dependência entre hosts pode ser útil. Com dependência configurada as notificações dos dependentes podem ser retidas e apenas as notificações para o problema raiz enviadas.
Enquanto o Zabbix não suporta dependência entre hosts diretamente, elas podem ser definidas com outro método, mais flexível - dependências de gatilho. Um gatilho pode ter um ou mais gatilhos dos quais ele depende.
Então em nosso simples exemplo nós abrimos o formulário de configuração de gatilho do servidor e informamos que ele depende do respectivo gatilho do roteador. Com tal dependência o gatilho do servidor não mudará de estado enquanto o gatilho do qual ele depende estiver no estado de 'PROBLEMA' - e assim nenhuma ação será tomada e nenhuma notificação enviada para o dependente.
Se ambos servidor e roteador estiverem fora e houver dependência entre eles, o Zabbix não executará ações para o gatilho dependente.
Ações nos gatilhos dependentes não serão executadas se o gatilho do qual eles dependem:
Note que o gatilho "secundário" (dependente) nos casos acima mencionados não serão imediatamente atualizados. Enquanto o gatilho principal estiver em estado de PROBLEMA, seus dependentes podem reportar valores, nos quais não podemos confiar. Assim, o gatilho só será reavaliado, e mudará seu estado, apenas depois que o gatilho principal estiver em estado OK e tivermos recebido métricas confiáveis.
Também:
Para definir uma dependência, abra a aba Dependências no formulário de configuração do gatilho. Clique em Adicionar no bloco 'Dependências' e selecione um ou mais gatilhos dos quais nosso gatilho dependerá.
Clique em Atualizar. Agora o gatilho tem uma indicação de sua dependência na lista.
Por exemplo, um host está atrás de um Roteador2 e o Roteador2 está atrás de um Roteador1.
Se o Roteador1 estiver fora, então obviamente Host e Roteador2 estarão também inalcançáveis, ainda assim não queremos receber três notificações sobre Host, Roteador1 e Roteador2 estarem todos fora.
Então neste caso definimos duas dependências:
O gatilho 'Host está fora (down)' depende do gatilho 'Roteador2 está fora'
O gatilho 'Roteador2 está fora' depende do gatilho 'Roteador1 está fora'
Antes de mudar o estado do gatilho 'Host está fora', o Zabbix verificará por dependências de gatilho correspondentes. Se encontradas, e um destes gatilhos estiver em estado de 'PROBLEMA', então o estado do gatilho não será alterado e portanto ações não serão executadas e notificações não serão enviadas.
O Zabbix executa esta verificação recursivamente. Se Roteador1 ou Roteador2 estiver inalcançável, o gatilho do Host não será atualizado.