A correlação de evento baseada em gatilho permite correlacionar problemas separados reportados por um gatilho.
Enquanto de forma geral um evento OK pode encerrar todos os eventos problema criados por um gatilho, há casos onde uma abordagem mais detalhada é necessária. Por exemplo, quando monitorando arquivos de log você pode querer descobrir certos problemas em um arquivo de log e encerrá-los individualmente em vez de todos ao mesmo tempo.
Este é o caso com gatilhos que possuem habilitada a Geração de Eventos Problema Múltiplos. Tais gatilhos são normalmente usados para monitoramento de log, processamento de trap, etc.
No Zabbix é possível relacionar eventos problema baseado em etiquetagem. Etiquetas são usadas para extrair valores e criar identificação para eventos problema. Tirando vantagem disto, problemas podem também ser encerrados individualmente com base na correspondência de etiqueta.
Em outras palavras, o mesmo gatilho pode criar eventos separados identificados pela etiqueta do evento. Assim eventos problema podem ser identificados um a um e encerrados separadamente com base na identificação pela etiqueta do evento.
No monitoramento de log você pode encontrar linhas similares a estas:
Linha1: Aplicação 1 parada
Linha2: Aplicação 2 parada
Linha3: Aplicação 1 foi reiniciada
Linha4: Aplicação 2 foi reiniciada
A ideia da correlação de evento é estar apto a corresponder o evento problema da Linha1 à resolução da Linha3 e o evento problema da Linha2 à resolução da Linha4, e encerrar estes problemas um a um:
Linha1: Aplicação 1 parada
Linha3: Aplicação 1 foi reiniciada #problema da Linha 1 encerrado
Linha2: Aplicação 2 parada
Linha4: Aplicação 2 foi reiniciada #problema da Linha 2 encerrado
Para fazer isto você precisa etiquetar estes eventos relacionados como, por exemplo, "Aplicação 1" e "Aplicação 2". Isto pode ser feito pela aplicação de uma expressão regular à linha de log para extrair o valor da etiqueta. Então, quando eventos são criados, eles são etiquetados como "Aplicação 1" e "Aplicação 2" respectivamente e o problema pode ser correspondido à resolução.
Para começar, você pode querer definir um item que monitora um arquivo de log, por exemplo:
Com o item configurado, aguarde um minuto para que as mudanças de configuração sejam capturadas e então vá até últimos dados para certificar-se de que o item iniciou a coleta de dados.
Com o item funcionando você precisa configurar o gatilho. É importante decidir quais entradas no arquivo de log são dignas de atenção. Por exemplo, a seguinte expressão de gatilho buscará por uma string como 'Parando (Stopping)' para sinalizar possíveis problemas:
Para certificar-se que cada linha contendo uma string "Parando" é considerada um problema também defina o Modo geração de evento problema na configuração do gatilho para 'Múltiplo'.
Então defina uma expressão de recuperação. A seguinte expressão de recuperação solucionará todos os problemas se uma linha de log é encontrada contento a string "Iniciando (Starting)":
Como nós não queremos este comportamento, é importante certificar-se de alguma forma de que os problemas raíz sejam encerrados, e não todos os problemas. É aqui onde a etiquetagem pode ajudar.
Problemas e soluções podem ser correspondidos especificando uma etiqueta na configuração do gatilho. As seguintes configurações devem ser feitas:
Se configurado com sucesso você conseguirá ver os eventos problema etiquetados por aplicação e correspondidos à sua solução em Monitoramento → Problemas.
Devido possibilidade de má configuração, quando etiquetas de evento similares podem ser criadas para problemas não relacionados, por favor revise os casos destacados abaixo!